[英]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.