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

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-28631{{"Подмножество итерируемого объекта"}} javascript/data_types -.-> lab-28631{{"Подмножество итерируемого объекта"}} javascript/arith_ops -.-> lab-28631{{"Подмножество итерируемого объекта"}} javascript/comp_ops -.-> lab-28631{{"Подмножество итерируемого объекта"}} javascript/spread_rest -.-> lab-28631{{"Подмножество итерируемого объекта"}} end

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

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