Разделяемые итерируемые объекты в JavaScript

Beginner

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

Введение

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

Проверка на отсутствие пересечения итерируемых объектов

Для проверки того, не имеют ли два итерируемых объекта общих значений, можно использовать функцию isDisjoint.

Вот, как ее можно использовать:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Создайте новый объект Set из каждого итерируемого объекта с использованием конструктора Set.
  3. Используйте Array.prototype.every() и Set.prototype.has(), чтобы проверить, не имеют ли два итерируемых объекта общих значений.
const isDisjoint = (a, b) => {
  const sA = new Set(a),
    sB = new Set(b);
  return [...sA].every((v) => !sB.has(v));
};

Вот несколько примеров:

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

Резюме

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