var arr = [1, 2, 7, 9, 5, 7, 4, 0, 4];
function quChong(arr) {
// 如果新数组的当前元素的索引值 == 该元素在原始数组中的第一个索引,则返回当前元素
return arr.filter(function (item, index) {
return arr.indexOf(item, 0) === index;
});
}
console.log(quChong(arr)); // 1, 2, 7, 9, 5, 4, 0
四、利用数组的indexOf方法去重
var arr = [1, 2, 7, 9, 5, 7, 4, 0, 4];
var newarr=[];
for(var i=0;i<arr.length;i++){
if(newarr.indexOf(arr[i])===-1){//满足条件,不在数组中
newarr.push(arr[i]);
}
}
console.log(newarr); //1, 2, 7, 9, 5, 4, 0
五、利用数组的sort方法去重
var arr = [1, 2, 7, 9, 5, 7, 4, 0, 4];
function quChong(arr) {
arr = arr.sort();
var newarr = [arr[0]];
for (var i = 1;i<arr.length; i++) {
if (arr[i] !== arr[i - 1]) {
newarr.push(arr[i]);
}
}
return newarr;
}
console.log(quChong(arr)); // 0, 1, 2, 4, 5, 7, 9