数组去重的简单方法

Posted buildnewhomeland

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重的简单方法相关的知识,希望对你有一定的参考价值。

一、new Set()方法

Set对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

function removeRepeatElement(arr) {
  return Array.from(new Set(arr));
}

注意:要用Array.from()来将Set对象转换成一个真的数组。

二、ES6三点运算符 + new Set()

function removeRepeatElement(arr) {
  return [...new Set(arr)];
}

三、indexOf()方法

遍历源数组,判断新数组中有没有源数组的数组项,没有就加到新数组中去。

function removeRepeatElement(arr) {
  let newArr = [];
  for (let i = 0; i < arr.length; i++) {
    if (newArr.indexOf(arr[i]) === -1) {
      newArr.push(arr[i]);
    }
  }
  return newArr;
}

四、相邻元素对比(sort() + Object.is())

先排序,排完之后相邻元素对比。

function removeRepeatElement3(arr) {
  let newArr = [];

  arr.sort();

  for (let i = 0; i < arr.length; i++) {
    if(!Object.is(arr[i], arr[i+1])) {
      newArr.push(arr[i]);
    }
  }

  return newArr;
}

以上是关于数组去重的简单方法的主要内容,如果未能解决你的问题,请参考以下文章

数组去重的几种方法

数组去重的多种方法

一个数组去重的简单栗子

5个数组去重的方法

数组去重的5种方法

数组去重的几种常见方法?