📌  相关文章
📜  删除 aaray 对象中的重复项 - Javascript (1)

📅  最后修改于: 2023-12-03 14:50:17.036000             🧑  作者: Mango

删除数组对象中的重复项 - Javascript

当我们通过Javascript使用数组对象时,有时候会遇到需要删除数组中重复项的情况。这个时候,我们需要用到一些技巧来实现这一功能。下面是一些常见的方法。

方法一:使用ES6 Set

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()

我们可以使用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()

我们可以使用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

我们可以使用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"]

以上就是四种常见的方法来删除数组对象中的重复项。大家可以根据实际情况选择合适的方法。