Введение
В этом практическом занятии мы изучим, как проверить, содержат ли два массива одинаковые элементы в JavaScript. Мы создадим функцию, которая принимает два массива и возвращает true, если они содержат одинаковые элементы, независимо от порядка, и false в противном случае. Для этого мы используем комбинацию Set, цикла for...of и метода Array.prototype.filter().
Проверка на одинаковые элементы в массивах
Для проверки того, содержат ли два массива одинаковые элементы независимо от порядка, следуйте шагам:
- Откройте Терминал/SSH и введите
node. - Используйте цикл
for...ofдляSet, созданного из значений обоих массивов. - Используйте метод
Array.prototype.filter(), чтобы сравнить количество вхождений каждого уникального значения в обоих массивах. - Возвращайте
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, чтобы улучшить свои навыки.