第一种: 利用数组的indexOf方法
indexOf的作用:查找数组中相对应的下标, 如果没有 则返回-1
const unique = arr => {
let res = []
for(let i = 0; i < arr.length; i++ ) {
if(res.indexOf(arr[i]) === -1) res.push(arr[i])
}
return res
}
console.log(unique([1,2,3,4,2,1,4])) // [1,2,3,4]
第二种:利用数组的includes方法
const unique2 = arr => {
let res = []
for(let i = 0; i < arr.length; i++) {
if(!res.includes(arr[i])) {
res.push(arr[i])
}
}
return res
}
console.log(unique2([1,2,3,4,2,1,4]))
第三种: 利用map
const unique4 = arr => {
const map = new Map()
const res = []
for (let i = 0; i < arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], true)
res.push(arr[i])
}
}
return res
}