示例:
let a = [{
"driverName": "陆小果,
"description": "1",
"machineName": "小果战宝",
}, {
"driverName": "菠萝吹雪",
"description": "2",
"machineName": "菠萝战宝",
}, {
"driverName": "橙留香",
"description": "2",
"machineName": "香橙战宝",
}, {
"driverName": "上官子怡",
"description": "1",
"machineName": "草莓战宝",
}]
// 将上述数组a中descrition相同的对象合并成一个children,期望得到:
[{
description: "1",
children: [{
driverName: "陆小果"
description: "1"
machineName: "小果战宝"
},{
driverName: "上官子怡"
description: "1"
machineName: "草莓战宝"
}]
},{
description: "2",
children: [{
driverName: "菠萝吹雪"
description: "2"
machineName: "菠萝战宝"
},{
driverName: "橙留香"
description: "2"
machineName: "香橙战宝"
}]
}]
实现方法:
// 数组中descrition相同的对象合并成一个children
let b = []
a.forEach((item, index) => {
let flag = true
b.forEach((item2, index2) => {
if (item.description === item2.description) {
flag = false
b[index2].children.push(item)
}
})
if (flag) {
b.push({
description: item.description,
children: [item]
})
}
})
console.log(b)