From a406ddcb34a42f73e9e459ea6f550e51457f8884 Mon Sep 17 00:00:00 2001 From: Isabelle Viktoria Maciohsek Date: Sun, 11 Oct 2020 11:52:48 +0300 Subject: [PATCH] Add frozenSet --- snippets/frozenSet.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 snippets/frozenSet.md diff --git a/snippets/frozenSet.md b/snippets/frozenSet.md new file mode 100644 index 000000000..2568c9deb --- /dev/null +++ b/snippets/frozenSet.md @@ -0,0 +1,24 @@ +--- +title: frozenSet +tags: array,intermediate +--- + +Creates a frozen `Set` object. + +- Use the `new Set()` constructor to create a new `Set` object from `iterable`. +- Set the `add`, `delete` and `clear` methods of the newly created object to `undefined`, so that they cannot be used, practically freezing the object. + +```js +const frozenSet = iterable => { + const s = new Set(iterable); + s.add = undefined; + s.delete = undefined; + s.clear = undefined; + return s; +}; +``` + +```js +frozenSet([1, 2, 3, 1, 2]); +// Set { 1, 2, 3, add: undefined, delete: undefined, clear: undefined } +```