一看就会——js数组去重
原生for循环去重
var str = [
1, 2, 2, 2, 2,
3, 4, 43, 2, 21,
2, 1, 1, 1, 2, 3,
3, 4, 5, 6, 7, 7,
6, 57, 7, 89, 9,
6, 45, 32, 43, 43,
]
var strArr=[] //存放不重复数据
for (let i = 0; i < str.length; i++) {
if(strArr.indexOf(str[i])===-1){
strArr.push(str[i])
}
}
console.log(str) //原数组
console.log(strArr) //去重后
ES6中的set方法去重
set是一个集合允许存储任何类型的唯一值,无论是原始值还是对象引用
set通过构造函数的方式生成,接收一个数组作为参数。
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
var str = [
1, 2, 2, 2, 2,
3, 4, 43, 2, 21,
2, 1, 1, 1, 2, 3,
3, 4, 5, 6, 7, 7,
6, 57, 7, 89, 9,
6, 45, 32, 43, 43,
]
//es6中的set方法去重
console.log(str) //原数组
str.sort((a, b) => { //排序
return a - b
})
console.log(
Array.from(
new Set(str)
)
) //去重后
//ES6中的set方法不允许重复。Array.from()方法把一个类似于数组的对象转换成数组
//set是一个集合允许存储任何类型的唯一值,无论是原始值还是对象引用
//set通过构造函数的方式生成,接收一个数组作为参数
//Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。