📅  最后修改于: 2023-12-03 15:11:38.513000             🧑  作者: Mango
在开发过程中,我们常常需要将两个数组或对象进行合并,同时也需要去除合并后的对象中的重复项。以下是在JavaScript中合并两个数组或对象并删除重复项的方法:
可以使用concat()
方法将两个数组合并成一个数组。例如,将数组a和数组b合并成数组c:
let a = [1, 2, 3];
let b = [4, 5, 6];
let c = a.concat(b);
console.log(c); // [1, 2, 3, 4, 5, 6]
可以使用Object.assign()
方法将两个对象合并成一个对象。例如,将对象obj1和对象obj2合并成对象obj3:
let obj1 = {a: 1};
let obj2 = {b: 2};
let obj3 = Object.assign(obj1, obj2);
console.log(obj3); // {a: 1, b: 2}
可以使用filter()
方法和indexOf()
方法来删除重复对象。例如,将数组中的重复对象删除:
let arr = [{a: 1}, {a: 2}, {a: 1}];
let newArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(newArr); // [{a: 1}, {a: 2}]
同样,也可以用for...in
和hasOwnProperty()
方法来删除重复对象:
let obj = {a: 1, b: 2, c: 1};
let newObj = {};
for (let key in obj) {
if (obj.hasOwnProperty(key) && !newObj.hasOwnProperty(obj[key])) {
newObj[key] = obj[key];
}
}
console.log(newObj); // {a: 1, b: 2}
以上就是合并两个数组或对象并删除重复项的方法,希望对您有所帮助。