如何实现js数组去重?

分类:知识百科 日期: 点击:0

在编写JavaScript代码时,经常需要对数组进行去重操作。如果数组中包含重复元素,则可以使用JavaScript内置方法来消除重复项。

使用Set

使用Set是最简单的去重方法,因为它自动处理重复项并返回一个不包含重复项的新数组。

const arr = [1, 2, 3, 2, 4, 3];
const uniqueArr = [...new Set(arr)];

console.log(uniqueArr); // [1, 2, 3, 4]

使用filter和indexOf

另一种常用的方法是使用filter和indexOf结合使用。这将迭代整个数组,并检查每个元素是否已经在新数组中出现过。如果没有,则将其添加到新数组中。

const arr = [1, 2, 3, 2, 4, 3];
const uniqueArr = arr.filter((item, index) => {
  return arr.indexOf(item) === index;
});

console.log(uniqueArr); // [1, 2, 3, 4]

使用reduce

使用reduce也可以实现数组去重。reduce方法接受两个参数,第一个参数是回调函数,第二个参数是初始值。回调函数中的第一个参数是累加器,第二个参数是当前值。我们可以在回调函数中检查当前值是否已经存在于累加器中。如果不存在,则将其添加到累加器中。

const arr = [1, 2, 3, 2, 4, 3];
const uniqueArr = arr.reduce((prev, cur) => {
  if (!prev.includes(cur)) {
    prev.push(cur);
  }
  return prev;
}, []);

console.log(uniqueArr); // [1, 2, 3, 4]

无论使用哪种方法,这些都是可以实现JavaScript数组去重的简单而有效的技巧。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。