数组根据某属性重新分组
let arr = [{ depart: "一部", name: "张三" }, { depart: "二部", name: "张三" }, { depart: "一部", name: "李四" }];
//思路: 首先将class作为分组的依据 班级对应人名 应为对象类型, 然后根据对象的key 将对象转为数组
//将数组重新分组
let obj = {};
arr.forEach(item => {
obj[item.depart] = obj[item.depart] || [];
obj[item.depart].push(item);
});
//将对象转为数组
let arr2 = Object.keys(obj).map(item=>{
return obj[item];
});
//已上已经对数据进行了分组
let arr3 = [];
//为数组增加前缀
arr2.forEach((item) =>{
arr3.push({depart: item[0].depart,children: item});
});
console.log(arr3);