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

JavaScriptJavaScriptBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28636{{"Супермножество итерируемых объектов"}} javascript/data_types -.-> lab-28636{{"Супермножество итерируемых объектов"}} javascript/arith_ops -.-> lab-28636{{"Супермножество итерируемых объектов"}} javascript/comp_ops -.-> lab-28636{{"Супермножество итерируемых объектов"}} javascript/spread_rest -.-> lab-28636{{"Супермножество итерируемых объектов"}} end

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

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