Array.prototype.toggle

Scott Rudiger scottrudiger at gmail.com
Fri Feb 7 12:11:22 UTC 2020


`Array.prototype.filter` seems more versatile (although it doesn't mutate
the original array) since it removes elements based on a function:

```js
[1, 2, 3, 2, 1].filter(n => n !== 1); // [2, 3, 2]
```

Since the method is named `toggle`, what happens when you call it on the
same array twice? Do you get the removed elements back?

```js
const arr = [1, 2, 3, 2, 1].toggle(1) // mutates the original array
removing 1, resulting in [2, 3, 2]
arr.toggle(1); // ???
```

On Fri, Feb 7, 2020 at 3:49 AM manuelbarzi <manuelbarzi at gmail.com> wrote:

> just a proposal to provide this functionality into array, allowing to add
> / remove items in a toggling mechanism shortcut, avoiding the need to do
> traversing to locate the indexes and remove them next (i.e. by means of a
> polyfill or any other approach).
>
> ```js
> [1, 2, 3, 2, 1].toggle(1) // mutates the original array removing 1,
> resulting in [2, 3, 2]
> ```
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20200207/b1114943/attachment.html>


More information about the es-discuss mailing list