這裏記錄本身經常使用的兩種方法javascript
第一種是使用的javascript的 indexOf 方法java
第二種是使用對象中的屬性查找的方法。數組
方法一:this
// 去重取重
var arr = [1,2,3,4,12,3,4,5,2,1];
var res = [];
var res2 = [];
for(var i=0;i<arr.length;i++){
console.log(arr[i])
if (res.indexOf(arr[i]) == -1){
res.push(arr[i]);
} else {
res2.push(arr[i]);
}
}
console.log(res) //[1, 2, 3, 4, 12, 5]
console.log(res2) //[3, 4, 2, 1]spa
方法二:
// 去重
var arr2 = [1,2,4,5,3,2,1,3,4,2,4,5,4,234];
var o = {};
var resultArr = [];
for(var i=0;i<arr2.length;i++){
if(!o[arr2[i]]){
resultArr.push(arr2[i]);
o[arr2[i]] = 2
}
}
console.log(resultArr) //[1, 2, 4, 5, 3, 234]prototype
封裝成javascript原生數組方法以下:對象
Array.prototype.unique = function(){
var res = [];
var o = {};
for(var i = 0; i < this.length; i++){
if(!o[this[i]]){
res.push(this[i]);
o[this[i]] = 1;
}
}
return res;
}ip