78fbbbccc47d45f05ed00b423d5e7d15.gif

70b110daa0b9a59b87f3127318f41a29.png

一 . ES6数组去重1.拓展运算符(...)内部使用for...of循环,  Set数据结构,它类似于数组,其成员的值都是唯一的.

var arr = [3,5,6,5,4,6,9];console.log(...new Set(arr));//输出结果:[3,5,6,4,9]

2.利用Array.from将Set结构转换成数组,还能将伪数组转化为数组

var arr = [2,5,6,5,4,6,9];console.log(Array.from(new Set(arr)));//输出结果:[2, 5, 6, 4, 9]

二. 利用 arr.indexOf(a) 的方法解决数组去重,判断 a 值是否在arr中存在,  如果存在就返回所在的下标,如果不存在就返回 -1

var arr = [2,3,4,5,2,5,6]  function noRepeat (arr) {      var newArr = []      for(var i in arr){        if(newArr.indexOf(arr[i]) == -1){          newArr.push(arr[i])        }     }     return newArr;  }console.log(noRepeat(arr));//输出结果:[2, 3, 4, 5, 6]

2cb6bdf3d7bc9e16ad224b03c0977fad.png