📌  相关文章
📜  javascript 数组组重复 - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:43.891000             🧑  作者: Mango

JavaScript 数组去重复 - JavaScript

在 JavaScript 中,数组去重是一个经常用到的操作。当数组中有重复的元素时,去重可以简化数组的处理,并且有利于提高代码的执行效率。本文将介绍 JavaScript 数组去重的方法和实现。

1. 利用 Set

ES6 引入了 Set 类型,Set 类型是一种可存储唯一值(无重复值)的集合。可以使用 Set 来实现数组去重。

具体实现如下:

let arr = [1, 2, 2, 3, 3, 4];
let uniq = [...new Set(arr)];
console.log(uniq);

输出结果为:[1, 2, 3, 4]

这里利用了 Set 数据结构的特点,从而实现了数组去重的功能。需要注意的是,这种方法只适用于原始值类型的数组去重,如果是对象数组,需要用其他方法。

2. 利用 for 循环

利用 for 循环可以实现数组去重的功能。

具体实现如下:

let arr = [1, 2, 2, 3, 3, 4];
let uniq = [];
for (let i = 0; i < arr.length; i++) {
  if (uniq.indexOf(arr[i]) === -1) {
    uniq.push(arr[i]);
  }
}
console.log(uniq);

输出结果为:[1, 2, 3, 4]

这里利用了一个空数组 uniq 来存储不重复的元素,然后通过 for 循环遍历原数组中的每个元素,如果元素不在 uniq 数组中,就将它加入数组中。需要注意的是,这种方法在处理大量数据时性能较差。

3. 利用 reduce

利用 reduce 方法也可以实现数组去重的功能。

具体实现如下:

let arr = [1, 2, 2, 3, 3, 4];
let uniq = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
console.log(uniq);

输出结果为:[1, 2, 3, 4]

这里利用了 reduce 方法的特点,从而实现了数组去重的功能。需要注意的是,这种方法在处理大量数据时性能较差。

总结

本文介绍了 JavaScript 数组去重的方法和实现。以上三种方法各有优劣,需要根据具体情况选择适合的方法。在具体实现时,需要注意代码的性能和可读性,避免因为不必要的操作带来不必要的性能损耗。