常規(guī)方法
最簡(jiǎn)單數(shù)組去重法
function uniq(array){
var newArr = new Array; //一個(gè)新的臨時(shí)數(shù)組
for(var i = 0; i < array.length; i++){
if(newArr.indexOf(array[i]) == -1){
newArr.push(array[i]);
}
}
return newArr;
}
上面的方法用到了indexOf谐檀,IE8之前版本不支持抡谐,可以改為
function uniq(arr) {
let newArr = new Array, bool = true;
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < newArr.length; j++) {
if (newArr[j] == arr[i]) bool = false;
}
if (bool) newArr.push(arr[i])
bool = true;
}
return newArr
}
不過(guò)這兩種方法會(huì)多占用一個(gè)內(nèi)存空間,簡(jiǎn)化后可以這樣寫(xiě)
function uniq(array){
return array.filter((v,i,a) => {
return a.indexOf(a[i]) == i
})
}