1. 相对于数组本身进行去重
var arr = [15,35,27,15,29,31,35,15];
for(var i = 0; i < arr.length; i++){
for(var j = i + 1; j < arr.length; j++){
if(arr[i]==arr[j]){
arr.splice(j,1)
j--;
}
}
}
console.log(arr); // [15, 35, 27, 29, 31]
封装数组去重
var arr = [15,35,27,15,29,31,35,15];
function noRepeat(a) {
for (var i = 0; i < a.length; i++) {
for (var j = i + 1; j < a.length; j++) {
if (a[i] == a[j]) {
a.splice(j, 1);
j--;
}
}
}
}
noRepeat(arr);
console.log(arr);
2. 不是操作数组本身的
var arr = [15,35,27,15,29,31,35,15];
var b = [];
for(var j = 0; j < arr.length; j++){
if(b.indexOf(arr[j]) == -1){
b.push(arr[j]);
}
}
console.log(b) // [15, 35, 27, 29, 31]
封装数组去重
var arr2 = [5, 5, 5, 94, 1, 8, 120, 8, 1, 52];
// 不是操作数组本身的去重
function noRepeat1(arr) {
// 声明一个空数组 用来装载新的不重复的数组
var aaa = [];
for (var k = 0; k < arr.length; k++) {
// arr[k]
if (aaa.indexOf(arr[k]) == -1) {
aaa.push(arr[k]);
}
}
// aaa 在for循环之后是不重复的新数组
// 使用return是返回新的数组
return aaa;
}
noRepeat1(arr2)
console.log(noRepeat1(arr2))