方法一:利用数组的indexOf方法去重
需求:
利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组
1. 需要一个数组用于存放筛选之后的数据
2. 遍历原来的数组,把不是0的数据添加到新数组里面
3. 新数组里面的个数,用length不断累加
var arr = [58, 6, 8, 56, 0, 8];
function unique() {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var arr = unique([58, 6, 8, 56, 0, 8]);
console.log(arr);
方法二 :使用双重for循环,再利用数组的splice方法去重
var arr = [0,69,58,38,0,77,69];
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[j] == arr[i]) {
//splice(索引,长度,添加)
arr.splice(j, 1);
j--;
}
}
}
console.log(arr);
方法三:利用ES6中set方法去重
var arr1 = [25, 2, 13, 25,2,66,99];
var sum = new Set(arr1);
console.log(sum);