- 使用 Set 方法
let uniq = function (arr) {
return Array.from(new Set(arr))
}
let a=[1,1,1,2,3,4]
uniq(a)
- 使用技术排序的思路
let uniq = function (arr) {
let map = {}
for (let i = 0; i < arr.length; i++) {
let number = arr[i];
if (number === undefined) { continue }
if (number in map) { continue }
map[number] = true
}
let result = []
for (key in map) {
result.push(key)
}
return result
}
uniq([1, 2, 3, 3, 3, , '1'])
- 使用 Map
let uniq = function (arr) {
let map = new Map()
for (let i = 0; i < arr.length; i++) {
let number = arr[i];
if (number === undefined) { continue }
if (map.has(number)) { continue }
map.set(number, true)
}
return [...map.keys()]
}
uniq([1, 2, 3, 3, 3, , '1'])