刚刚看了篇ES6的教程,谈到了set,set是ES6中的一种新的数据类型,类似于数组,但最大的特点就是成员的值是唯一的,也就是说set中没有重复数据,所以说可以用来做数组去重,下面写了下用set与Array.from()进行数组去重的方法,看起来非常的简单高效。
function quchong(arr){
if(!Array.isArray(arr)){
console.log("非数组类型!");
return
}
return Array.from(new Set(arr));
var arr1=[1,1,2,3,4,4,4,4,5];
console.log(quchong(arr1));
}
查看输出结果:
其次,也可以用ES6中的解构赋值中...拆包打包进行数组去重,也非常的简单高效。代码如下:
function quchong(arr){
if(!Array.isArray(arr)){
console.log("非数组类型!");
return
}
return [...new Set(arr)];//将arr转化成set进行拆包放入空数组中,实现去重效果。
}
var arr1=[2,2,2,3,3,3,4,4,5,5,5,6,6,6,1];
console.log(quchong(arr1));
查看去重结果:
emm。。。还有其他的方式,比较笨重或繁琐,这里就不一一介绍了。