数组去重的几种方式

es6中的Set方法(根据Set的值不能重复的特性)

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

var list =new Set(arr);            //将arr放入Set方法中使arr中没有重复的值

var arr2 = Array from(list)         //此时将该字符串转化成数组并打印

console.log(arr2);

 

 

利用indexOf的特性将数组中一个个比较去重

var arr = [2, 8, 2, 5, 0, 7, 5, 0, 5, 2, 6, 7, 2];   
    var newArr = [];                                        //设置一个新的空数组用来遍历后往里传值
    for (var i = 0; i < arr.length; i++) {             //将原来的数组遍历
      if (newArr.indexOf(arr[i]) == -1) {           //判断如果空数组中穿的值在遍历过程中没有就进行添加
        newArr.push(arr[i]);
      }
    }
    console.log(newArr);

 

 

传统字体遍历方法

var arr = [1, 1, 2, 3, 3, 2, 1, 1, 3, 5];    
    var newArr = [];                              //设置一个新的空数组
    for (var i = 0; i < arr.length; i++) {    //遍历原数组
      var flag = true;                              //给一个变量赋值true,用作if循环中的
      for (var j = 0; j < newArr.length; j++) {   //遍历一下新的空数组 让原数组遍历的元素与空数组进行比较
        if (arr[i] == newArr[j]) {                   //if语句进行筛选,空数组中与原数组中相同的值给他pass掉
          flag = false; 
          break;
        }
      }
       if (flag) {
         newArr.push(arr[i]);                      // 往空数组中进行添加元素
       }
     }
 console.log(newArr);

数组去重的几种方式

上一篇:二叉树常见面试题(Go语言实现)


下一篇:Spring Data JPA:解析CriteriaBuilder