简单记录下js中数组去重的几种方法:
方法一:利用es6新增的数据类型set
//set最大的特点是数据不重复,可以接受一个数组或一个数组对象作为参数来初始化,该特性也可以给数组去重
function fillterArr(arr){
return ([...new Set(arr)]);
}方法二:es6的set + array.from
function fillterArr(arr){
return Array.from(new Set(arr));
}方法三:利用sort排序
function fillterArr(arr){
var newArr = [];
arr.sort();
for(var i = 0; i < arr.length; i++){
arr[i] == arr[i-1] ? newArr : newArr.push(arr[i]);
}
return newArr;
}方法四:利用indexOf
function fillterArr(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
newArr.indexOf(arr[i]) === -1 ? newArr.push(arr[i]) : newArr;
}
return newArr;
}方法五:利用reduce函数
function fillterArr(arr){
return arr.reduce((total , curValue ,index)=>{
console.log('第一个值total:'+total+',第二个值curValue:'+curValue +',第三个值index:'+index);
return total.indexOf(curValue) > 0 ? total : total.concat(curValue);
// return total.includes(curValue) ? total : total.concat(curValue);
},[])
}

评论列表 :共有2人吐槽, 4673人围观