Common set-theory comparisons and operators
The Set API in javascript is currently rather impoverished, with the ability to define sets but little in the way of common set-theory operations or comparisons we can easily perform on them.
This module exposes a number of useful set-theory operations and comparisons:
-
union(a, b)
: Return everything in set A or B -
intersection(a, b)
: Return everything in set A and B -
difference(a, b)
: Subtract from set A everything in B -
disjunctiveUnion(a, b)
: Return everything in set A xor B (everything in set A or B but not both) -
equal(a, b)
: Returns true if two sets are equal (sets have no concept of ordering, to this relies purely on the presence/absence of values, not their order) -
isSubsetOf(a, b)
: Returns true if A is a subset of B (equal sets are subsets of each other) -
isStrictSubsetOf(a, b)
: Returns true if A is a strict subset of B (equal sets are not strict subsets of each other) -
isSupersetOf(a, b)
: Returns true if A is a superset of B (equal sets are supersets of each other) -
isStrictSupersetOf(a, b)
: Returns true if A is a strict superset of B (equal sets are not strict supersets of each other)