我有一个像这样的清单:
serie_chart = [{“名称”:“ Bodega”,“数据”:[1484617495839,23]},{
“ name”:“ Otro”,“ data”:[1484617703695,30]},{“ name”:“ Camara1”,
“ data”:[1484622282856,22]},{“ name”:“ Camara1”,“ data”:[
1484622286969,24]},{“名称”:“ Camara1”,“数据”:[1484622289794,26
]}];
我想使用重复的名称像这样合并此数据并将数据存储到列表中
[
{
“ name”:“ Bodega”,
“数据”:[
1484617495839,
23
]
},
{
“ name”:“ Otro”,
“数据”:[
[
1484617703695,
30
],
[
1484617998559,
33
]
]
},
{
“ name”:“ Camara1”,
“数据”:[
[
1484622282856,
22
],
[
1484622286969,
24
],
[
1484622289794,
26
],
[
1484677105646,
55
]
]
}
]
我创建此代码,
var temp = {};
for (var i=0; i<serie_chart.length; i++) {
temp[serie_chart[i].name] =
temp[serie_chart[i].name] === undefined ?
serie_chart[i].data : [temp[serie_chart[i].name],serie_chart[i].data];
}
serie_chart = [];
for (var key in temp) {
serie_chart.push({'name': key, 'data': temp[key]})
}
但我不知道我错过了什么,因为当我尝试推送数据时,他在数据内部创建了很多列表。感谢您的帮助
最佳答案
尝试这个:
var temp = {};
for (var i=0; i<serie_chart.length; i++) {
if(!temp[serie_chart[i].name]) {
temp[serie_chart[i].name]=[];
}
temp[serie_chart[i].name].push(serie_chart[i].data);
}
serie_chart = [];
for (var key in temp) {
serie_chart.push({'name': key, 'data': temp[key]})
}
关于javascript - 如何合并列表Javascript中的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41757341/