Superset of iterable
JavaScript, Array · Oct 22, 2020

Checks if the first iterable is a superset of the second one, excluding duplicate values.
- Use the
Set
constructor to create a newSet
object from each iterable. - Use
Array.prototype.every()
andSet.prototype.has()
to check that each value in the second iterable is contained in the first one.
const superSet = (a, b) => {
const sA = new Set(a), sB = new Set(b);
return [...sB].every(v => sA.has(v));
};
superSet(new Set([1, 2, 3, 4]), new Set([1, 2])); // true
superSet(new Set([1, 2, 3, 4]), new Set([1, 5])); // false