Клавиша / esc

isDisjointFrom()

Метод проверки, имеют ли множества общие элементы.

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод isDisjointFrom() позволяет проверить, имеют ли два множества хотя бы один общий элемент. Возвращает true, если множества не имеют общих элементов, и false, если хотя бы один элемент совпадает.

Проверку, которую выполняет метод, можно выразить так:

A ∩ B = ∅
Два не пересекающихся множества A и B

Пример

Скопировано

В одной компании два разработчика, Анна и Павел, решили организовать учебный кружок по программированию. Чтобы понять, могут ли они вести занятия вместе, им нужно проверить, есть ли у них пересекающиеся области знаний. В этом им поможет метод isDisjointFrom():

        
          
          const annaSkills = new Set(['JavaScript', 'HTML', 'CSS', 'Vue.js']);const pavelSkills = new Set(['Python', 'Node.js', 'PostgreSQL', 'Redis']);console.log(annaSkills.isDisjointFrom(pavelSkills));// true, т.к. у Ани и Павла нет общих навыков
          const annaSkills = new Set(['JavaScript', 'HTML', 'CSS', 'Vue.js']);
const pavelSkills = new Set(['Python', 'Node.js', 'PostgreSQL', 'Redis']);

console.log(annaSkills.isDisjointFrom(pavelSkills));
// true, т.к. у Ани и Павла нет общих навыков

        
        
          
        
      

Как мы видим, у них нет общих навыков, но тут оказалось, что Анна забыла указать, что она также знает Node.js.

        
          
          // Добавим навык в существующее множество.annaSkills.add('Node.js');console.log(annaSkills.isDisjointFrom(pavelSkills));// false, т.к. Node.js уже есть в обоих множествах
          // Добавим навык в существующее множество.
annaSkills.add('Node.js');

console.log(annaSkills.isDisjointFrom(pavelSkills));
// false, т.к. Node.js уже есть в обоих множествах

        
        
          
        
      

Как пишется

Скопировано

Метод isDisjointFrom() принимает один обязательный аргумент — объект, который содержит множество для сравнения. Если аргумент не указан, будет брошено исключение TypeError: Set.prototype.isDisjointFrom argument must be an object.

Аргументом метода isDisjointFrom() может быть не только множество, но и любой Set-like объект.

Как понять

Скопировано

Метод isDisjointFrom() помогает проверить два множества на наличие хотя бы одного совпадающего элемента без прохода по ним с помощью forEach().

Поддержка в браузерах:
  • Chrome 122, поддерживается
  • Edge 122, поддерживается
  • Firefox 127, поддерживается
  • Safari 17, поддерживается
О Baseline