Супермножество итерируемых объектов

Beginner

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

Введение

В этом практическом занятии мы изучим, как использовать конструктор Set и метод Array.prototype.every() для определения, является ли один итерируемый объект супермножеством другого. Практическое занятие проведет вас по созданию функции, которая проверяет, содержит ли первый итерируемый объект все элементы второго итерируемого объекта, исключая любые дубликаты. В конце практического занятия вы будете лучше понимать, как работать с множествами в JavaScript.

Функция для проверки, является ли одно множество супермножеством другого множества

Для проверки, является ли одно множество супермножеством другого множества, используйте функцию superSet(). Сначала откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода. Затем следуйте следующим шагам:

  • Создайте новый объект Set из каждого итерируемого объекта с использованием конструктора Set.
  • Используйте Array.prototype.every() и Set.prototype.has(), чтобы проверить, содержится ли каждое значение во втором итерируемом объекте в первом.
  • Функция возвращает true, если первый итерируемый объект является супермножеством второго, исключая дублирующиеся значения. В противном случае возвращается false.
const superSet = (a, b) => {
  const sA = new Set(a),
    sB = new Set(b);
  return [...sB].every((v) => sA.has(v));
};

Используйте superSet() с двумя множествами в качестве аргументов, чтобы проверить, является ли одно множество супермножеством другого множества.

superSet(new Set([1, 2, 3, 4]), new Set([1, 2])); // true
superSet(new Set([1, 2, 3, 4]), new Set([1, 5])); // false

Резюме

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