let dataArr = [{
id: 1,
name: "A",
score: 10,
}, {
id: 2,
name: "B",
score: 10,
}, {
id: 1,
name: "C",
score: 10,
}, {
id: 2,
name: "D",
score: 10,
}, {
id: 2,
name: "E",
score: 10,
}, ];
var beforeData = dataArr; //将dataArr赋值给beforeData 也可直接操作dataArr
let tempArr = [];
let afterData = []; //新数组
for (let i = 0; i < beforeData.length; i++) {
if (tempArr.indexOf(beforeData[i].id) === -1) {
afterData.push({
id: beforeData[i].id,
score: beforeData[i].score,
name: [beforeData[i].name],
});
tempArr.push(beforeData[i].id);
} else {
for (let j = 0; j < afterData.length; j++) {
if (afterData[j].id == beforeData[i].id) {
afterData[j].name.push(beforeData[i].name);
break;
}
}
}
}
console.log(afterData, " afterData");
afterData01 = JSON.parse(JSON.stringify(afterData));
//循环afterData并且合并name值用逗号隔开
afterData01.map((item) => {
item.name = item.name.join(",");
});
console.log(afterData01, 'afterData01')
JS合并数组中id相同的项目 去重合并
最新推荐文章于 2024-04-03 15:34:26 发布