前端面试题 - 120. 数组去重

161 阅读1分钟

数组去重是前端比较基础的面试题了,一般用于校招。

思路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))
}