从对象数组中删除重复项并将其子数组合并为一个,可以通过以下步骤实现:
以下是一个示例的JavaScript代码实现:
function mergeArrays(arr) {
const map = {};
arr.forEach(obj => {
const key = JSON.stringify(obj);
if (map[key]) {
map[key].subArray = map[key].subArray.concat(obj.subArray);
} else {
map[key] = obj;
}
});
return Object.values(map);
}
// 示例用法
const input = [
{ id: 1, subArray: [1, 2, 3] },
{ id: 2, subArray: [4, 5, 6] },
{ id: 1, subArray: [7, 8, 9] },
{ id: 3, subArray: [10, 11, 12] }
];
const result = mergeArrays(input);
console.log(result);
该代码会输出以下结果:
[
{ id: 1, subArray: [1, 2, 3, 7, 8, 9] },
{ id: 2, subArray: [4, 5, 6] },
{ id: 3, subArray: [10, 11, 12] }
]
在这个例子中,输入的对象数组中有两个具有相同id的对象(id为1),它们的子数组会被合并为一个。最终的结果是一个新的对象数组,其中重复项已被删除,并且子数组已合并。
领取专属 10元无门槛券
手把手带您无忧上云