数组去重(一个数组)
function fn(arr){
//新建一个空数组接收
var newArr =[];
//遍历数组,push到新数组
for(var i = 0 ; i < array.length ; i++){
if(newArr.indexOf(array[i])==-1){
newArr.push(array[i]);
}
}
return newArr;
}
var array = [1,2,2,4,9,6,7,5,2,3,5,6,5];
console.log(fn(array));
数组去重(多个数组)
function unite(arr1, arr2, arr3){
//使用arguments遍历所有数组,并且放入一个newArr中
var newArr = Array.from(arguments);
//使用reduce遍历新数组,根据reduce的参数,a来表示上一次调用返回的值,b来表示正在处理的元素
//然后把b都拼接到a当中,最后返回的 arr = [arr1,arr2,arr3],合成了一个大数组,方便我们使用函数。
var arr = newArr.reduce(function(a,b){
return a.concat(b);
});
//最后使用filter遍历arr,根据filter的参数,element代表当前元素,index代表当前元素的索引。
return arr.filter(function(element,index){
//核心函数:filter筛选出当前函数 ==它当前的索引,比如上面第一例中,当element指向第一个2时,
return arr.indexOf(element) == index;
});
}
unite([1, 3, 2], [5, 2, 1, 4], [2, 1]);