前端经典面试题js去重方法都有哪些

  1. 使用 Set

    Set 是 ES6 中引入的一种数据结构,它只允许存储唯一的值,可以利用这一特性来实现数组去重。

    const array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = [...new Set(array)];
  2. 使用 indexOf 或 includes 方法

    遍历原数组,将不重复的元素添加到新数组中。

    const array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = [];
    ​
    array.forEach((element) => {
      if (uniqueArray.indexOf(element) === -1) {
        uniqueArray.push(element);
      }
    });

    或者使用 includes 方法:

    const array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = [];
    ​
    array.forEach((element) => {
      if (!uniqueArray.includes(element)) {
        uniqueArray.push(element);
      }
    });
  3. 使用 filter 方法

    利用 filter 方法和 indexOf 或 includes 方法来创建新数组。

    const array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = array.filter((element, index, self) => {
      return self.indexOf(element) === index;
    });

    或者使用 includes 方法:

    const array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = array.filter((element, index, self) => {
      return !self.includes(element, index + 1);
    });
  4. 使用 reduce 方法

    使用 reduce 方法遍历数组,将不重复的元素添加到累积的结果中。

    econst array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = array.reduce((accumulator, element) => {
      if (!accumulator.includes(element)) {
        accumulator.push(element);
      }
      return accumulator;
    }, []);

你可能感兴趣的:(前端,javascript,开发语言)