js 数组 、数组对象去重的方法

香菊网 发表于: 2019-05-15 分类: H5部分  js部分  前端front  HTML&CSS  

在开发的时候,操作数组和对象是非常有必要的,有数组去重,数组对象去重,不用双重for循环轻松解决

1、数组去重 ES6 实现

//  思路:ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

// Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。

function unique(arr){
  var x = new Set(arr);
 return [...x];
}

2、简单的 indexOf 

// 思路:数组里面是否含有这个值 有返回下标

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

3、对象形式去重

// 思路:对象形式去重 把要去重的值当做对象的属性来做校验

unique3(arr) {
    let obj = {}, newArr = []
    // 数组去重
    arr.forEach((e , i) => {
        if(!obj[e.rid]){   // 验证数组对象的rid唯一
            newArr.push(e);
            obj[e.rid]= true;
        }  
    });
    return newArr
}
标签: H5部分js部分前端frontHTML&CSS
Copyright © 2019 幻雨焉缘博客 | 浙ICP备19001843号-1
----------------------------------
种一棵树,最好的培养时间是十年前,其次是现在 加油  (ง •_•)ง。        ──── 前端攻城狮