第一种:[ { name: 'name1', cag: 'a' }, { name: 'name2', cag: 'a' }, { name: 'name3', cag: 'a' }, { name: 'name4', cag: 'b' },]第二种:[ { slug: 'a', item: [ { name: 'name1', cag: 'a' }, { name: 'name2', cag: 'a' }, { name: 'name3', cag: 'a' } ] }, { slug: 'b', item: [ { name: 'name4', cag: 'b' } ] }]JS如何将第一种重组成第二种格式?
1 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
function handle (arr) {
var res = [], obj = {}, index = 0;
arr.forEach(val => {
if (obj.hasOwnProperty(val.cag)) {
res[obj[val.cag]].item.push(val);
} else {
obj[val.cag] = index++;
res.push({
slug: val.cag,
item: [val]
});
}
});
return res;
}
添加回答
举报
0/150
提交
取消