第一种 indexOf 找到返回下标,找不到返回-1
var arr = [4, 1, 2, 3, 5, 3, 1, 2, 4, 7, 8, 4];
var newArry = [];
for (var i = 0; i < arr.length; i++) {
if (newArry.indexOf(arr[i]) == -1) {
newArry.push(arr[i]);
}
}
console.log(newArry);
第二种 reduce(pre, cur, index, arr)
1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
var arr = [4, 1, 2, 3, 5, 3, 1, 2, 4, 7, 8, 4];
var ss =arr.reduce(function(pre,cur){
if(pre.indexOf(cur)==-1){
pre.push(cur)
}
return pre;
},[])
console.log(ss);
第三种 set()
function notRepeat(list){
return [...new Set(list)];
}
var res=notRepeat([4, 1, 2, 3, 5, 3, 1, 2, 4, 7, 8, 4])
console.log(res);
网友评论