[英]Processing data from API for table rendering
我从API收到类似的信息:
"stats": [
{
"label": 2016,
"stats": {
"return": 4,
"stddev": 4,
"sharpe": 4,
"maxddown": 4
}
},
{
"label": 2015,
"stats": {
"return": 5,
"stddev": 5,
"sharpe": 5,
"maxddown": 5
}
},
{
"label": 2014,
"stats": {
"return": 6,
"stddev": 6,
"sharpe": 6,
"maxddown": 6
}
}
]
我应该将数据转换为对象数组,这些对象将用于在Ember应用程序中呈现表格。 我不知道如何...表的最终数据应如下所示:
const tableData = [
{
name: 'return',
2016: 4,
2015: 5,
2014: 6
}, {
name: 'stddev',
2016: 4,
2015: 5,
2014: 6
}, {
name: 'sharpe',
2016: 4,
2015: 5,
2014: 6
}, {
name: 'maxddown',
2016: 4,
2015: 5,
2014: 6
}
]
获取stats
的密钥并对其进行迭代。 在迭代周期中,您需要遍历所有stats
,使用选定的key
访问每个stats
的属性并创建您的对象。
const stats = [ { "label": 2016, "stats": { "return": 4, "stddev": 4, "sharpe": 4, "maxddown": 4 } }, { "label": 2015, "stats": { "return": 5, "stddev": 5, "sharpe": 5, "maxddown": 5 } }, { "label": 2014, "stats": { "return": 6, "stddev": 6, "sharpe": 6, "maxddown": 6 } } ]; const keys = Object.keys(stats[0].stats); const mapped = keys.map(key => { const obj = { name: key }; stats.forEach(item => { obj[item.label] = item.stats[key]; }); return obj; }); console.log(mapped);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.