从数组中删除重复的值

2025-06-07

从数组中删除重复的值

有多种方法可以从数组中过滤掉重复项并仅返回唯一值。

1️⃣ 使用 Set 🔥

Set 是什么?

Set 是 ES6 中引入的新数据对象。Set 是唯一值的集合。

这里,

  • 数组将转换为 Set 并且所有重复元素将被自动删除。
  • 扩展语法 ... 用于将所有元素包含 Set 到一个新数组中。
const arr = ["🌼", "🌴", "🌹", "🌵", "🍄", "🌹", "🌴"];

const filteredArr = [...new Set(arr)];
console.log(filteredArr); //["🌼", "🌴", "🌹", "🌵", "🍄"]
Enter fullscreen mode Exit fullscreen mode

使用以下方法将集合转换为数组Array.from

您还可以使用Array.from将转换Set为数组:

const arr = ["🌼", "🌴", "🌹", "🌵", "🍄", "🌹", "🌴"];

const filteredArr = Array.from(new Set(arr));
console.log(filteredArr); //["🌼", "🌴", "🌹", "🌵", "🍄"]
Enter fullscreen mode Exit fullscreen mode

2️⃣ 使用过滤器🕸

如果元素通过并返回 true,它将被包含在过滤后的数组中,而任何失败或返回 false 的元素将不会包含在过滤后的数组中。

const arr = ["🌼", "🌴", "🌹", "🌵", "🍄", "🌹", "🌴"];

const filteredArr = arr.filter((item, index) => {
    return arr.indexOf(item) === index;
})
console.log(filteredArr); //["🌼", "🌴", "🌹", "🌵", "🍄"]
Enter fullscreen mode Exit fullscreen mode

3️⃣ 使用 forEach 方法🚀

使用forEach,您可以遍历数组中的元素,如果数组中不存在该元素,则将其推送到新数组中。

const arr = ["🌼", "🌴", "🌹", "🌵", "🍄", "🌹", "🌴"];

const filteredArr = (arr) => {
    let uniqueVal = [];
    arr.forEach(el => {
        if(!uniqueVal.includes(el)) {
            uniqueVal.push(el);
        }
    })
    return uniqueVal;
}
console.log(filteredArr(arr)); //["🌼", "🌴", "🌹", "🌵", "🍄"]
Enter fullscreen mode Exit fullscreen mode

4️⃣ 使用 Reduce 方法😎

reduce方法用于减少数组的元素,并根据您传递的某些reducer函数将它们组合成最终数组。

const arr = ["🌼", "🌴", "🌹", "🌵", "🍄", "🌹", "🌴"];

const filteredArr = arr.reduce((acc, curr) => {
    return acc.includes(curr) ? acc : [...acc, curr];
}, [])
console.log(filteredArr(arr)); //["🌼", "🌴", "🌹", "🌵", "🍄"]
Enter fullscreen mode Exit fullscreen mode

5️⃣ 数组原型的独特方法📔

在 Javascript 中,数组原型构造函数允许您向 Array 对象添加新属性和方法。

const arr = ["🌼", "🌴", "🌹", "🌵", "🍄", "🌹", "🌴"];

Array.prototype.filteredArr = function (){
    let arr = [];
    for(let i = 0; i < this.length; i++) {
        let current = this[i];
        if(arr.indexOf(current) < 0 ) arr.push(current);
    }
    return arr;
}
console.log(arr.filteredArr()); //["🌼", "🌴", "🌹", "🌵", "🍄"]
Enter fullscreen mode Exit fullscreen mode

参考🧐

🌟推特 👩🏻‍💻suprabha.me 🌟 Instagram
文章来源:https://dev.to/suprabhasupi/remove-duplicate-value-from-array-3i52
PREV
关于简历和求职
NEXT
常规函数与箭头函数