Files
30-seconds-of-code/snippets/isDisjoint.md
2022-05-26 09:55:17 +03:00

27 lines
704 B
Markdown

---
title: Disjointed iterables
tags: array
expertise: intermediate
author: maciv
cover: blog_images/interior-9.jpg
firstSeen: 2020-10-11T11:53:01+03:00
lastUpdated: 2020-10-11T11:53:01+03:00
---
Checks if the two iterables are disjointed (have no common values).
- Use the `Set` constructor to create a new `Set` object from each iterable.
- Use `Array.prototype.every()` and `Set.prototype.has()` to check that the two iterables have no common values.
```js
const isDisjoint = (a, b) => {
const sA = new Set(a), sB = new Set(b);
return [...sA].every(v => !sB.has(v));
};
```
```js
isDisjoint(new Set([1, 2]), new Set([3, 4])); // true
isDisjoint(new Set([1, 2]), new Set([1, 3])); // false
```