- 方式一 set
function unique(arr) {
return [...new Set(arr)]
};
- 方式二 indexof
function unique(arr) {
let res = [];
arr.forEach(item => {
if (res.indexOf(item) === -1) {
res.push(item);
}
});
return res;
}
- 方式三 includes
function unique(arr) {
let res = [];
arr.forEach(item => {
if (!res.includes(item)) {
res.push(item);
}
});
return res;
}
- 方式四 利用 reduce
function unique(arr) {
return arr.reduce((acc, cur) => acc.includes(cur) ? acc : [...acc, cur], []);
}
- 方式五 map函数
function unique(arr) {
let map = new Map();
arr.forEach(num => {
if (!map.has(num)) {
map.set(num);
}
});
return [...map.keys()]
}
欢迎大家关注我的前端仓库,这里有数据结构、常见面试题、框架、书籍等学习总结,有问题也可以在仓库 issues 或 emil: chenorange12@gmail.com