将所有对象,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
有更简便的方法欢迎评论,学习、成长
标签:ES6,Name,对象,list,ai,数组,var,data From: https://www.cnblogs.com/Amytest/p/16932900.html