这是我拥有的对象数组:
[
{
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。有人能帮我把它转换成我想要的格式吗?
发布于 2020-07-20 17:23:35
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)
发布于 2020-07-21 05:18:46
请使用下面的代码。
let finalArray = [];
for (let [key] of Object.entries(this.datasourceObject[0])) {
let result = a.map(order =>
order[key]);
finalArray.push(result);
}
console.log(finalArray);https://stackoverflow.com/questions/63000481
复制相似问题