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]
您可以在此处运行此示例
迭代示例
在这个方法中,我使用了一个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]
您可以在此处运行此示例
感谢您抽出时间!希望您喜欢这个解决方案。😊
如果您有任何疑问,请在下方留言。💬
期待后续文章!🔥🔜
写信给我们!✉
如果您有任何问题需要解决,或者有与 React 或 JavaScript 主题相关的无人能解答的问题,或者您正在寻找指导,请在dirask.com -> 问题上写信给我们
文章来源:https://dev.to/diraskreact/javascript-remove-duplicates-from-array-5ebg