1.Array.filter() + indexOf
function distinct(arr) {
return arr.filter((item, index) => {
return arr.indexOf(item) == index
})
}
2.Array.sort()
利用sort將數組排序,比較相鄰元素是否相同,從而排除重複項
function distinct(arr) {
let arr = arr.sort()
let result = [arr[0]]
for (let i = 1, len = arr.lenth; i < len; i++) {
arr[i] !== arr[i-1] && result.push(arr[i])
}
}
3.new Set()
function distinct(arr) {
return Array.form(new Set(arr))
}
4.for…of + Object
function distinct(arr) {
let result = {}
let obj = {}
for (let i of arr) {
if (!obj[i]) {
result.push(i)
obj[i] = 1
}
}
return result
}