javascript 数组去重的几种实现方法

ES5 实现方法:

  • 利用 indexOf 判断新数组中是否存在当前值
function unique(arr){
    var aTemp = [];
    for(var i = 0 ; i < arr.length; i++){
        if(aTemp.indexOf(arr[i]) !== -1){
            aTemp.push(arr[i]);
        }
    }
    return aTemp;
  }

ES6实现方法

  • 利用Set数据结构去重
    Array.from 方法可以将Set结构转为数组。Set结构不会添加重复的值。

    function unique(array) {
      return Array.from(new Set(array));
    } 
    
  • 扩展运算符和 Set结构结合

  扩展运算符和Set结构相结合, 就可以去除数组的重复成员。
  let arr = [3, 5, 2, 2, 5, 5];
  let unique = [...new Set(arr)];// [3, 5, 2] 

你可能感兴趣的:(javascript 数组去重的几种实现方法)