2017-09-28 22 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链接](https://www.w3schools.com/jsref/jsref_unshift.asp) – David

+0

我试着添加'fields.unshift('Test1'); 'fields.push(....)'之后。仍然没有运气。它将在顶部添加此值。但所有剩余的数据正在写入下一行。但是第一排只有这一个。也就是说,所有的单词都写在不同的列中,即T,e,s,t,1 – user2083386

+0

它的工作。我用response.unshift替换了'response.push',用fields.unshift替换了fields.push。谢谢 – user2083386

回答

相关问题