美文网首页
数组去重三种方法

数组去重三种方法

作者: 秃头成就技术 | 来源:发表于2018-09-15 10:01 被阅读9次

   *介绍下通常 下 使用最多数组去重三种做法

 1.indexOf 判断一波

        function noRepeat(arr) {

             var arr2 = [];

             for(var i = 0; i < arr.length; i++) {

                // 如果arr[i]不存在arr2中,把元素添加到arr2中

                 if(arr2.indexOf(arr[i]) == -1) {

            -- 或者 if(arr.indexOf(arr[i]) == i) {也一样可以--

                     arr2.push(arr[i]);

                }

           }

             return arr2;

         }

         var arr = [1,2,32,1,1,2,3,4,5]

        arr = noRepeat(arr);

        console.log(arr);

    var arrNum = [1,'a', 'a', 'a',2,2,3,3,3,3,3,4,4];


2.利用对象的属性去重(推荐)

使用这种方法,占用内存更少

思路:每次取出原数组的元素,然后再对象中访问这个属性,如果存在就说明重复,

function unique(arr){

  var res =[];

  var json = {};

  for(var i=0;i<arr.length;i++){

//对象中不存在这个属性,输出值为undefined,布尔值为false

    if(!json[arr[i]]){

      res.push(arr[i]);

      json[arr[i]] = 1;

    }

  }

  return res;

}


3.Es6方法

var arr=[1,5,8,8,8,5,2,1,1,5]

var np=new Set(arr)

//扩展运算符    去除外壳

var arr2=[...np]

相关文章

  • js中数组去重的三种方法

    数组去重的三种方法: 1、 利用es6中 set类型实现数组去重。 2、 新建一个空数组,然后循环之前的数组,判断...

  • ES6数组去重

    普通数组去重 方法1 方法2 对象数组去重

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组

    数组 数组常用方法 数组去重

  • js数组对象去重

    今天给大家介绍三种数组对象去重的方法,简单方便 有这么一组数组对象: 1、对象访问属性的方法 2、Map()方法 ...

  • 数组去重

    分类 非对象数组去重 对象数组去重 分类一 --- 非对象数组去重 方法一: set(es6常用) 方法二:red...

  • JavaScript数组去重方法

    数组去重 在处理数据的时候,常常需要对数组进行去重操作。这里记下最常用的三种方法。 1. ES6中新增的Set()...

  • 数组对象去重方法:

    数组对象去重方法: // 数组对象去重 ```` toRetry = (arr = []) => { let re...

  • js:数组去重

    数组去重的常见写法: 数组去重封装成方法: es6的数组去重(Array.from):

网友评论

      本文标题:数组去重三种方法

      本文链接:https://www.haomeiwen.com/subject/zcezgftx.html