方法1:双for去重
for(var i = 0; i < ary.length; i++){
// 循环第几轮
var temp = ary[i];
for(var j = i+1; j < ary.length; j++){
if(temp === ary[j]){//两者相等则进行下一步
ary.splice(j,1)//从j这项删除 删除一项
//数组整个往前进了一位 数组的塌陷
j--
}
}
}
方法2:利用对象的属性名不能重复
var ary = [1,4,1,4,2,1,5,1,2,2,4,2,4,2];
var obj = {};
ary.forEach(function(v){
obj[v] = v // obj[1] = 1;
})
console.log(obj);
var arr = [];
for(var k in obj){
arr.push(obj[k])
}
利用 indexof和lastindexof去重
function unique3(arr) {
//若indexof和lastindexof得到的值不一样 说明后面有重复
for (var i = 0; i < arr.length; i++) {
var n = arr.indexOf(arr[i]),
m = arr.lastIndexOf(arr[i])
if (n !== m) {
arr.splice(m, 1);
i--;
}
}
return arr;
}