码迷,mamicode.com
首页 > 编程语言 > 详细

数组去重的简单方法

时间:2020-06-13 17:29:17      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:block   排序   去重   sort   length   from   pre   --   ret   

一、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;
}

数组去重的简单方法

标签:block   排序   去重   sort   length   from   pre   --   ret   

原文地址:https://www.cnblogs.com/buildnewhomeland/p/13117987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!