📌  相关文章
📜  javascript 检查数组中的重复项 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:36.272000             🧑  作者: Mango

JavaScript 检查数组中的重复项

在 JavaScript 中,我们可能会需要检查一个数组中是否存在重复的元素。这里我们提供两种方法来实现这个需求。

方法一:使用 Set

ES6 中引入了 Set,我们可以使用 Set 来实现检查数组中是否有重复项的需求。

const arr = [1, 2, 2, 3, 4, 4, 5];

const hasDuplicate = arr => {
  return new Set(arr).size !== arr.length;
};

if (hasDuplicate(arr)) {
  console.log('该数组中存在重复项');
} else {
  console.log('该数组中不存在重复项');
}

上述代码中,我们首先定义了一个数组 arr,然后定义了一个函数 hasDuplicate。该函数接收一个数组作为参数,使用 Set 构造器来创建一个不含重复元素的集合,判断集合大小是否等于原数组长度,从而判断原数组中是否存在重复项。

方法二:使用双重循环

如果不使用 ES6 提供的 Set,我们也可以使用双重循环来实现检查数组中是否有重复项的需求。

const arr = [1, 2, 2, 3, 4, 4, 5];

const hasDuplicate = arr => {
  for (let i = 0; i < arr.length; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[i] === arr[j]) {
        return true;
      }
    }
  }
  return false;
};

if (hasDuplicate(arr)) {
  console.log('该数组中存在重复项');
} else {
  console.log('该数组中不存在重复项');
}

上述代码中,我们同样定义了一个数组 arr,然后定义了一个函数 hasDuplicate。该函数使用双重循环来遍历数组,如果发现有两个元素相等,就返回 true,否则返回 false。这个方法可能会比 Set 的方法稍微慢一些,但对于较小的数据集来说,完全足够了。

希望以上两种方法能够帮助你检查数组中是否存在重复项。