关键词

javascript数组去重小结

JavaScript数组去重小结

什么是数组去重

JavaScript中的数组去重是指将一个数组中重复的元素保留一个,去除其余的元素,使得最终数组中不含有重复元素。

常见的去重方法

1.使用ES6的Set对象

Set对象是ES6中引入的一种新的数据类型,它类似于数组,但是不允许数组元素重复。因此,我们可以使用Set对象来实现数组去重。

let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
// [1, 2, 3, 4, 5]

我们可以使用new Set()创建一个Set对象,将原始数组转换为Set对象之后,使用Array.from()方法将Set对象转换为数组,即可得到去重之后的数组。

2.使用indexOf()

使用indexOf()方法可以检测一个元素在数组中第一次出现的位置,如果两个元素在数组中第一次出现的位置不同,那么这两个元素就不相同。因此,我们可以通过使用indexOf()方法来实现数组去重。

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

我们可以使用for循环遍历原始数组中的每一个元素,判断其在去重后的数组中是否存在,如果不存在,就将其加入到去重后的数组中。这样就可以得到一个去重之后的数组。

示例说明

假设有如下的一个数组:

let arr = [1, 2, 2, 3, 3, 4, 5, 5];

示例1:使用ES6的Set对象

let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
// [1, 2, 3, 4, 5]

使用ES6的Set对象和Array.from()方法,可以快速地得到去重之后的数组,其输出结果为[1, 2, 3, 4, 5]

示例2:使用indexOf()

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

使用indexOf()方法和for循环,可以得到和ES6的Set对象相同的输出结果[1, 2, 3, 4, 5],因为这两种方法本质上都是判断元素是否重复,从而得到去重之后的数组。

本文链接:http://task.lmcjl.com/news/10571.html

展开阅读全文