Методы проверки дубликатов в массивах JavaScript

Чтобы проверить наличие дубликатов в массиве с помощью JavaScript, вы можете использовать несколько методов. Вот несколько распространенных подходов:

  1. Использование набора. Набор представляет собой набор уникальных значений, поэтому вы можете легко устранить дубликаты, преобразовав массив в набор и сравнив его размер с исходным массивом.
function hasDuplicates(array) {
  // Convert the array into a Set
  var set = new Set(array);
  // Compare the size of the Set with the original array
  return set.size !== array.length;
}
  1. Использование частотомера. Этот метод предполагает создание объекта для отслеживания частоты каждого элемента массива. Если какой-либо элемент имеет частоту больше 1, это означает, что существует дубликат.
function hasDuplicates(array) {
  var frequencyCounter = {};
  for (var i = 0; i < array.length; i++) {
    var element = array[i];
    // Increase the frequency of the element in the counter
    frequencyCounter[element] = (frequencyCounter[element] || 0) + 1;
    // If the frequency is greater than 1, there is a duplicate
    if (frequencyCounter[element] > 1) {
      return true;
    }
  }
  return false;
}
  1. Использование Array.prototype.indexOf(): этот метод включает в себя перебор массива и проверку, отличается ли индекс текущего элемента от его значения indexOf(). Если они разные, это означает, что элемент уже встречался раньше и существует дубликат.
function hasDuplicates(array) {
  for (var i = 0; i < array.length; i++) {
    if (array.indexOf(array[i]) !== i) {
      return true;
    }
  }
  return false;
}