对象数组去重

// 两个不重复的对象数组,合并两个数组得到一个 id 不重复的 result 数组。
// 比如 两个id不重复的对象数组A B,将B合并到A,但是A数组中的每个对象的 id 属性不能重复
// 示例:
A = [{ id: 1, name: a }, { id: 2, name: aa }, { id: 3, name: aaa }];
B = [ { id: 1, name: a }, { id: 2, name: aa }, { id: 5, name: aaaaa }];
// 结果
result = [{ id: 1, name: a }, { id: 2, name: aa }, { id: 3, name: aaa }, { id: 5, name: aaaaa }]
let A= [] // 最终结果
let B = []; //
let arr_index = []; // 存储对象数组A中每个对象的id
for (let i = 0; i < A.length; i += 1) {
if (A[i].id) arr_index.push(A[i].id);
} // 获取A数组中所有对象的 id
for (let i =0; i < B.length; i += 1) {
if (!arr_index.includes(B[i].id)) {
B.push(B[i]);
}
} // 如果arr_index不包含对象数组B的对象id 则将该对象推入A

原文地址:https://www.cnblogs.com/suiucat/p/11133591.html