数组去重
一、ES6最常用Set去重
Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。
二、双重for循环
外层循环元素,内层循环时比较值。
function unique(arr) {
      for (var i = 0; i < arr.length; i++) {
            for (var j = i + 1; j < arr.length; j++) {
                  if (arr[i] == arr[j]) {                    //第一个等同于第二个,splice方法删除第二个
                        arr.splice(j, 1);
                        j--;
                  }
            }
      }
    return arr;
}
let arr = [1, 1, 'true', 'true', true, true, 15, 15];
console.log(unique(arr)    // [ 1, 'true', true, 15 ]
三、indexOf或includes去重
当数组内没有该元素时,indexOf返回-1,则把它push进新数组。
function unique(arr) {
      var array = [];
      for (var i = 0; i < arr.length; i++) {
            if (!array.includes( arr[i]) ) {
                  array .push(arr[i])
            }
      }
      return array;
}
四、filter去重
原始数组中元素的索引等于当前索引值时返回,否则返回当前元素
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号