JavaScript——从数组中删除重复项

2025-06-04

JavaScript——从数组中删除重复项

各位程序员们,大家好!👋😊

在这篇短文中,我想向您展示如何在 JavaScript 中从数组中删除重复的项目。

在我们开始之前,我强烈建议您查看我们网站上的解决方案的可运行示例:
JavaScript - 从数组中删除重复项

快速解决方案

filter()在这个快速解决方案中,我使用了已添加的内置函数来改进函数式编程。

如果在另一个位置发现具有相同值的索引,则不会保存该索引(换句话说,它只保存第一次出现的索引,而不考虑下一个索引)。

实际示例:

const array = [1, 2, 3, 1, 1, 2, 2, 3, 3];
const result = array.filter((item, index, array) => array.indexOf(item) === index);

console.log(JSON.stringify(result)); // [1,2,3]
Enter fullscreen mode Exit fullscreen mode

您可以在此处运行此示例

迭代示例

在这个方法中,我使用了一个blocker对象来表示已出现元素的映射。循环for只会对所有添加到此映射的元素进行一次迭代,如果某个元素已经出现,则不会再次添加。

该解决方案更为优化,因为它具有较低的计算复杂度。📉✅

实际示例:

const removeDuplicates = (array) => {
    const result = [];
    const blocker = {}; // prevents against item duplication
    for (const item of array) {
        if (blocker.hasOwnProperty(item)) {
            continue;
        }
        blocker[item] = true;
        result.push(item);
    }
    return result;
};

// Usage example:

const array = [1, 2, 3, 1, 1, 2, 2, 3, 3];
const uniqueItems = removeDuplicates(array);

console.log(JSON.stringify(uniqueItems)); // [1,2,3]
Enter fullscreen mode Exit fullscreen mode

您可以在此处运行此示例

感谢您抽出时间!希望您喜欢这个解决方案。😊
如果您有任何疑问,请在下方留言。💬

期待后续文章!🔥🔜


写信给我们!✉

如果您有任何问题需要解决,或者有与 React 或 JavaScript 主题相关的无人能解答的问题,或者您正在寻找指导,请在dirask.com -> 问题上写信给我们

文章来源:https://dev.to/diraskreact/javascript-remove-duplicates-from-array-5ebg
PREV
React - 如何制作左侧动画菜单
NEXT
CORS(跨域资源共享)如何工作?