问题描述
{
"results": [
{
"dataSets": {
"One": {
"label": "testLabel","labels": "test","data": [
"10","58"
]
}
},"chart": [
{
"key": "test","label": "chart-1","chartType": "bar","order": "1","dataSets": [
{
"style": "line","key": "One"
},]
}
]
}
]
}
我想获取dataSets
的{{1中的label
的{{1}},labels
,data
之类的one
值}},方法是提供“ chart
”作为关键字。
是否可以使用javascript或vue?
解决方法
是的,有可能。但是您将需要进行一系列Array.map()
的操作。
const results = [{
dataSets: {
One: {
label: "testLabel",labels: "test",data: ["10","58"]
}
},chart: [{
key: "test",label: "chart-1",chartType: "bar",order: "1",dataSets: [{
style: "line",key: "One"
}]
}]
}];
const modifiedResult = results.map(result => {
const outerDataSets = result.dataSets;
result.chart = result.chart.map(chart =>
chart.dataSets.map(innerDataSet => ({
...innerDataSet,...outerDataSets[innerDataSet.key]
}))
);
return result;
});
console.log(modifiedResult);
此外,如果您使用的是Vue,我认为最好将result
的修改内容放在计算机上,以便它总是尝试将这些dataSets
附加数据添加到图表的数据集中。