2017-09-28 4 views
0

新しい値を配列に挿入することに問題があります。私はヘッダー行に優れた値を得ています。私は静的なフィールドをいくつか持っています。私は同じレスポンスにプッシュし、すべての値を新しい行ではなくヘッダ行に書き込むためにすべてをcsvにプッシュします。しかし、私が応答に明示的に追加している値が何であれ、それらをcsvの開始列に表示します。しかし、それらは最後に表示されていた。誰かがこれで私を助けることができますか?明示的に追加された値をcsvファイルの開始に表示する必要があります。Angular4で配列内の既存の配列を削除せずに新しい値を上に移動

ここ

が私のコードです:

csvDownload() { 
    let fields = []; 
    this.service.attrValues() 
     .subscribe((response) => { 
     response.push(
      { 'field': 'Test1'}, 
      { 'field': 'Test2'} 
     ); 
     fields.push(response.map(x => x.field));   
     }, 
     (err) => { 
     this.display.Error(err); 
     },() => { 
     this.downloadFileToCsv(fields); 
     } 
    ); 
    } 

    downloadFileToCsv(fields) { 
    var options = { 
     fieldSeparator: ',', 
     quoteStrings: '"', 
     decimalseparator: '.', 
     showLabels: true, 
     useBom: true 
    }; 
    new Angular2Csv(fields, 'test', options); 
    } 
+1

あなたは ')('アンシフトを使用することはできますか? [doc link](https://www.w3schools.com/jsref/jsref_unshift.asp) – David

+0

「fields.unshift( 'Test1');を追加しようとしました。 'fields.push(....)'の後にまだ運がありません。この値を上部に追加しています。しかし、残りのデータはすべて次の行に書き込まれています。しかし、これは1行目のものだけです。それはあまりにもすべての言葉が別の列、すなわち、T、e、s、t、1 – user2083386

+0

で書かれているということです。私は 'response.push'をresponse.unshift 'に、fields.pushをfields.unshiftに置き換えました。ありがとう – user2083386

答えて

関連する問題