📅  最后修改于: 2023-12-03 14:50:17.036000             🧑  作者: Mango
当我们通过Javascript使用数组对象时,有时候会遇到需要删除数组中重复项的情况。这个时候,我们需要用到一些技巧来实现这一功能。下面是一些常见的方法。
ES6 Set提供了去重的功能。我们可以通过将数组转换成Set,然后再将Set转回数组的方法来达到去重的目的。
const arr = ['a', 'b', 'c', 'a', 'b', 'd'];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // ["a", "b", "c", "d"]
我们可以使用filter()方法来遍历数组,然后过滤掉重复项。
const arr = ['a', 'b', 'c', 'a', 'b', 'd'];
const uniqueArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(uniqueArr); // ["a", "b", "c", "d"]
我们可以使用reduce()方法来遍历数组,然后将非重复项放入一个新的数组中。
const arr = ['a', 'b', 'c', 'a', 'b', 'd'];
const uniqueArr = arr.reduce((acc, cur) => {
if (!acc.includes(cur)) {
acc.push(cur);
}
return acc;
}, []);
console.log(uniqueArr); // ["a", "b", "c", "d"]
我们可以使用Map来遍历数组,然后将非重复项放入一个新的数组中。
const arr = ['a', 'b', 'c', 'a', 'b', 'd'];
const map = new Map();
const uniqueArr = [];
for (const item of arr) {
if (!map.has(item)) {
map.set(item, true);
uniqueArr.push(item);
}
}
console.log(uniqueArr); // ["a", "b", "c", "d"]
以上就是四种常见的方法来删除数组对象中的重复项。大家可以根据实际情况选择合适的方法。