再也不会被面试官问倒辣!
一. Set
let res = [...new Set(arr)]
二. 利用Map或者对象字面量
let map = new Map();
let res = []
arr.forEach(i => {
if (!map.has(i)) {
map.set(i, true);
res.push(i)
}
})
三. filter方式,判断indexOf和索引值是否一样,那就是第一次出现
let res = arr.filter((item, index) => {
return arr.indexOf(item) === index
})
四. reduce/循环 + includes/indexOf
let res = arr.reduce((pre, cur) => {
if (pre.indexOf(cur) === -1) pre.push(cur);
return pre
}, [])
let res = arr.reduce((pre, cur) => {
!pre.includes(cur) && pre.push(cur);
return pre
}, [])
五. 先用sort排序,但只针对number类型,就略略略辣
记录记录!