数组去重
1.indexOf()方法
var arr = [1,2,3,4,2,3,4]
var newArr = [];
for(var i = 0; i < arr.length; i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
console.log(newArr)// [1, 2, 3, 4]
2.sort()排序后判断
首先给新数组初始化一个arr[0],for循环里面i从1开始,遍历arr中的值和新数组最后一位进行比较,若相等,则pass掉,若不等,则push。
var arr = [1, 2, 3, 4, 2, 3, 4]
arr.sort()
let arr1 = [arr[0]]
for (i = 1; i < arr.length; i++) {
if (arr1[arr1.length - 1] !== arr[i]) {
arr1.push(arr[i])
}
}
console.log(arr1)
3.set方法
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
将数组转为set结构,然后再用Array.from()方法或者扩展运算符…转成数组
var arr = [1,2,3,4,2,3,4]
let set = new Set(arr)
console.log(Array.from(set))// [1, 2, 3, 4]
console.log([...set])// [1, 2, 3, 4]