記錄一些陣列去重的方法,如果有錯誤的地方,還望指正
1.利用es6中的set()去重特性
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr)
const resultarr1 = uniq(arr)
console.log(resultarr1)
2.利用includes或者indexof
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr) )
return temp
}const resultarr1 = uniq(arr)
console.log(resultarr1)
3.暴力雙迴圈
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr)
}if(!repeat)
}return temp
}const resultarr1 = uniq(arr)
console.log(resultarr1)
4.排序後,前乙個和後乙個比較,不相同就放入陣列
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr)
}return temp
}const resultarr1 = uniq(arr)
console.log(resultarr1)
5.splice改變原陣列
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr) }}
return arr
}const resultarr1 = uniq(arr)
console.log(resultarr1)
6.利用物件 速度快但是耗費記憶體
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr)
for(let i = 0; i < arr.length; i++)
}return temp
}const resultarr1 = uniq(arr)
console.log(resultarr1)
7.利用reduce
const arr = [1,2,3,6,8,2,9,5,6,4,9]
function uniq(arr)
const resultarr1 = uniq(arr)
console.log(resultarr1)
8.使用filter
function uniq(array) )
}
陣列去重的幾種方法
實現思路 新建一新陣列,遍歷傳入陣列,值不在新陣列就加入該新陣列中 注意點 判斷值是否在陣列的方法 indexof 是ecmascript5 方法,ie8以下不支援,需多寫一些相容低版本瀏覽器 最簡單陣列去重法 function unique1 array return n 實現思路 新建一js物件...
陣列去重的幾種方法
function unique arr let arr 1,2,3,1,2,2,a b c c a 4 4,false,false,undefined,undefined,null,null nan,nan,console.log unique arr 1,2,3,a b c 4,false,und...
js 陣列去重的幾種方法
問題 隨機10個不相同的數 數值範圍11 25之間的 並且存放到陣列中 函式 隨機生成乙個從min到max的數 function randfn min,max 方法1 遍歷已存入的數和當前隨機的數比較,引入開關判斷是否存放 var arr for var i 0 i 10 i if flag con...