Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何合并列表Javascript中的数据_Javascript_Arrays_List - Fatal编程技术网

如何合并列表Javascript中的数据

如何合并列表Javascript中的数据,javascript,arrays,list,Javascript,Arrays,List,我有一张这样的清单: serie_图表=[{“名称”:“Bodega”,“数据”:[1484617495839,23]}{ “名称”:“Otro”,“数据”:[1484617703695,30]},{“名称”:“Camara1”, “数据”:[148462222856,22]},{“名称”:“Camara1”,“数据”:[ 1484622286969,24]},{“姓名”:“卡马拉”,“数据”:[1484622289794,26] ] }]; 我想使用重复的名称合并这些数据,并将数据存储到一个列

我有一张这样的清单:

serie_图表=[{“名称”:“Bodega”,“数据”:[1484617495839,23]}{ “名称”:“Otro”,“数据”:[1484617703695,30]},{“名称”:“Camara1”, “数据”:[148462222856,22]},{“名称”:“Camara1”,“数据”:[ 1484622286969,24]},{“姓名”:“卡马拉”,“数据”:[1484622289794,26] ] }];

我想使用重复的名称合并这些数据,并将数据存储到一个列表中

[ { “名称”:“酒庄”, “数据”:[ 1484617495839, 23 ] }, { “名称”:“Otro”, “数据”:[ [ 1484617703695, 30 ], [ 1484617998559, 33 ] ] }, { “名称”:“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={};
对于(var i=0;i尝试以下方法:

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]})
}
var-temp={};

对于(var i=0;i这是Muhridin Ibragimov的答案,性能得到了增强,我们在数组上迭代一次:

var temp = {};
var result = [];
for (var i=0; i<serie_chart.length; i++) {
    var chart = serie_chart[i]
    var name = chart.name
    if(!temp[name]) {
     temp[name]=[];
     result.push({'name': name, 'data': temp[name]})
    }
    temp[name].push(chart.data);
}
var-temp={};
var结果=[];
对于(var i=0;i