簡體   English   中英

如何使用 angular 7 在矩陣中推送數據

[英]how can I push data in a matrix with angular 7

這是我擁有的對象數組:

 [
  {
   indicatorDatasource: "trackingError", 
   un_an: 0,
   trois_ans: 0,
   cinq_ans: 0
  },
  {
   indicatorDatasource: "annualisedFundPerformance",
   un_an: 19.749642029434945,
   trois_ans: 0.08025487443092949,
   cinq_ans: -3.819180707679881
  },
  {
   indicatorDatasource: "volatility",
   un_an: 27.581656736670507,
   trois_ans: 17.12568099017286, 
   cinq_ans: 13.426711413441112
  }]

我想這樣改造它:

[
      [ 'trackingError', 'annualisedFundPerformance', 'volatility' ],
      [ '0', '19.749642029434945', '27.581656736670507'],
      [ '0', '3.819180707679881', '13.426711413441112' ]
 ]

所以我創建了一個變量tableOptions: String[][]然后我從dataSourceObject添加了這樣的元素:

this.datasourceObject.forEach(element => {
  this.tableOptions[].push(element["indicatorDatasource"])
});
this.datasourceObject.forEach(element => {
  this.tableOptions[].push[(element["un_an"].toString())]
});
this.datasourceObject.forEach(element => {
  this.tableOptions[].push[(element["trois_ans"].toString())]
});
this.datasourceObject.forEach(element => {
  this.tableOptions[].push[(element["cinq_ans"].toString())]
});

但它給了我一個錯誤Error: An element access expression should take an argument 誰能幫我把它轉換成我想要的格式?

 var obj=[{ indicatorDatasource: "trackingError", un_an: 0, trois_ans: 0, cinq_ans: 0},{indicatorDatasource: "annualisedFundPerformance", un_an: 19.749642029434945, trois_ans: 0.08025487443092949, cinq_ans: -3.819180707679881},{indicatorDatasource: "volatility", un_an: 27.581656736670507, trois_ans: 17.12568099017286, cinq_ans: 13.426711413441112}] var result=[]; Object.keys(obj[0]? obj[0]: []).forEach(key=>{ var temp=[]; obj.forEach(cell=>{temp.push(cell[key].toString())}); result.push(temp); }); console.log(result)

請使用以下代碼。

  let finalArray = [];
  for (let [key] of Object.entries(this.datasourceObject[0])) {
    let result = a.map(order => 
      order[key]);
      finalArray.push(result);
}
console.log(finalArray);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM