Проверить, содержат ли массивы одинаковые элементы

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим, как проверить, содержат ли два массива одинаковые элементы в JavaScript. Мы создадим функцию, которая принимает два массива и возвращает true, если они содержат одинаковые элементы, независимо от порядка, и false в противном случае. Для этого мы используем комбинацию Set, цикла for...of и метода Array.prototype.filter().

Проверка на одинаковые элементы в массивах

Для проверки того, содержат ли два массива одинаковые элементы независимо от порядка, следуйте шагам:

  1. Откройте Терминал/SSH и введите node.
  2. Используйте цикл for...of для Set, созданного из значений обоих массивов.
  3. Используйте метод Array.prototype.filter(), чтобы сравнить количество вхождений каждого уникального значения в обоих массивах.
  4. Возвращайте false, если количество элементов не совпадает для любого элемента, и true в противном случае.

Вот код для этого:

const haveSameContents = (a, b) => {
  for (const v of new Set([...a, ...b]))
    if (a.filter((e) => e === v).length !== b.filter((e) => e === v).length)
      return false;
  return true;
};

Для тестирования функции используйте следующий код:

haveSameContents([1, 2, 4], [2, 4, 1]); // true

Резюме

Поздравляем! Вы завершили практическое занятие по проверке, содержат ли массивы одинаковые элементы. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.