js去掉两个数组相同的元素、js删除数组中某一个对象、js快速查找数组中重复项下标
要去掉两个数组中相同的元素,可以使用 filter
和 includes
方法。
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const uniqueArray = array1.filter(item => !array2.includes(item));
// uniqueArray 将是 [1, 2, 6, 7]
若要删除数组中的某个对象,可以使用 filter
方法结合 !=
或 !==
运算符。
const array = [{id: 1}, {id: 2}, {id: 3}];
const objToRemove = {id: 2};
const filteredArray = array.filter(item => item != objToRemove);
// filteredArray 将是 [{id: 1}, {id: 3}]
快速查找数组中的重复项可以使用 reduce
方法。
const array = [1, 2, 2, 3, 4, 4, 5];
const duplicates = array.reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
const duplicateItems = Object.keys(duplicates).filter(key => duplicates[key] > 1);
// duplicateItems 将是 [2, 4]
上述代码中,reduce
方法用于构建一个对象,该对象记录数组中每个元素出现的次数,然后 filter
方法找出出现次数大于 1 的元素,即重复项。
评论已关闭