我从API收到类似的内容:
$query = $model->getFormations()->createCommnad()->rawSql;
我应该将数据转换为对象数组,我将用它来渲染Ember应用程序中的表。我不知道如何......表格的最终数据应如下所示:
"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
}
}
]
答案 0 :(得分:2)
获取stats
的密钥并迭代它。在迭代周期中,您需要遍历所有stats
,使用选定的stats
访问每个key
的属性并创建您的对象。
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);