This is a proposal to add methods like union and intersection to JavaScript's built-in Set
class.
It is currently at stage 4: it has been added to the specification. This repository is no longer active.
Original readme follows.
This would add the following methods:
Set.prototype.intersection(other)
Set.prototype.union(other)
Set.prototype.difference(other)
Set.prototype.symmetricDifference(other)
Set.prototype.isSubsetOf(other)
Set.prototype.isSupersetOf(other)
Set.prototype.isDisjointFrom(other)
These methods would all require their arguments to be a Set, or at least something which looks like a Set in terms of having a numeric size
property as well as keys
and has
methods.
See details.md for details of current decisions made in this proposal.
Rendered spec text is available here.
The proposal was originally authored by Michał Wadas and later championed by Sathya Gunasekaran and Kevin Gibbons.
This proposal is ready for engines to implement and ship. See this issue for current status.
See other languages document to get overview of Set
methods in other languages.
See naming bikeshedding document for details.
We decided to choose:
symmetricDifference
intersection
union
difference