Files
30-seconds-of-code/snippets/subSet.md
2022-12-04 22:20:49 +02:00

721 B

title, tags, author, cover, firstSeen, lastUpdated
title tags author cover firstSeen lastUpdated
Subset of iterable array maciv blog_images/last-light.jpg 2020-10-11T11:53:08+03:00 2020-10-22T20:24:30+03:00

Checks if the first iterable is a subset of the second one, excluding duplicate 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 each value in the first iterable is contained in the second one.
const subSet = (a, b) => {
  const sA = new Set(a), sB = new Set(b);
  return [...sA].every(v => sB.has(v));
};
subSet(new Set([1, 2]), new Set([1, 2, 3, 4])); // true
subSet(new Set([1, 5]), new Set([1, 2, 3, 4])); // false