Введение
В этом практическом занятии мы изучим, как проверить, содержится ли подмножество значений одного итерируемого объекта в другом итерируемом объекте. Мы будем использовать конструктор Set и метод Array.prototype.every(), чтобы создать функцию, которая проверяет, присутствуют ли все значения в первом итерируемом объекте во втором итерируемом объекте. В конце этого практического занятия у вас будет лучше понимание, как работать с множествами в JavaScript.
Проверка, содержится ли подмножество итерируемого объекта в другом итерируемом объекте
Для практики программирования откройте Терминал/SSH и введите node. Эта функция проверяет, является ли первый итерируемый объект подмножеством второго итерируемого объекта, исключая дублирующиеся значения.
Для этого можно сделать следующее:
- Создайте новый объект
Setиз каждого итерируемого объекта с использованием конструктораSet. - Используйте
Array.prototype.every()иSet.prototype.has(), чтобы проверить, содержится ли каждое значение в первом итерируемом объекте во втором итерируемом объекте.
Вот пример реализации:
const subSet = (a, b) => {
const setA = new Set(a);
const setB = new Set(b);
return [...setA].every((value) => setB.has(value));
};
Вы можете использовать функцию subSet, передав в нее два множества для сравнения. Например:
subSet(new Set([1, 2]), new Set([1, 2, 3, 4])); // true
subSet(new Set([1, 5]), new Set([1, 2, 3, 4])); // false
Резюме
Поздравляем! Вы завершили практическое занятие по подмножеству итерируемых объектов. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.