数组去重是前端比较基础的面试题了,一般用于校招。
思路1:数组循环判断是否包含了
function unique(arr) {
// return array.filter((it, i) => array.indexOf(it) === i)
const result = [];
for (const item of arr) {
if (!result.includes(item)) {// 可以换成indexOf filter等
result.push(item);
}
}
return result;
}
使用
const array = [1, 2, 3, 2, 4, 5, 3, 1];
const uniqueArray = unique(array);
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
思路2:set + array
function unique(arr) {
return [ ...new Set(array) ]
// return Array.from(new Set(array))
}