处理数组对象,ES6合并对象数组
将所有对象,Name相同的值,count 合并成新的数组
将格式改为:
先处理时间
let time = _data.map(val=>{
return val.start
})
console.log(time)
处理list
let _r_data = [];
data.forEach(ss=>{
ss.list.forEach(item => {
item.start = ss.start
})
_r_data.push(ss.list)
}
console.log(_r_data,'===_rdata') // 二维数组
二维数组转一维数组(下面是两种方法)
第一种
let arr = _r_data.reduce(( acc, cur ) => {
return acc.concat(cur)
}, []);
第二种
let arr = _r_data.flat();
处理list,转换格式(看图更直观)

代码如下:
var obj = {},dest = [];
for(var i = 0; i < arr.length; i++){
var ai = arr[i];
if(!obj[ai.Name]){
dest.push({
name: ai.Name,
data: [ai.count]
});
obj[ai.Name] = ai;
}else{
for(var j = 0; j < dest.length; j++){
var dj = dest[j];
if(dj.name == ai.Name){
dj.data.push(ai.count);
break;
}
}
}
}
console.log(dest) // 最终的list
有更简便的方法欢迎评论,学习、成长