Подмножество итерируемого объекта

Beginner

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

Введение

В этом практическом занятии мы изучим, как проверить, содержится ли подмножество значений одного итерируемого объекта в другом итерируемом объекте. Мы будем использовать конструктор 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, чтобы улучшить свои навыки.