陣列去重的幾種方法

2022-06-20 19:12:13 字數 1519 閱讀 8178

記錄一些陣列去重的方法,如果有錯誤的地方,還望指正

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...