<div dir="ltr">`Array.prototype.filter` seems more versatile (although it doesn't mutate the original array) since it removes elements based on a function:<div><br></div><div>```js</div><div>[1, 2, 3, 2, 1].filter(n => n !== 1); // [2, 3, 2]</div><div>```</div><div><br></div><div>Since the method is named `toggle`, what happens when you call it on the same array twice? Do you get the removed elements back?</div><div><br></div><div>```js</div><div>const arr = [1, 2, 3, 2, 1].toggle(1) <span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif">// mutates the original array removing 1, resulting in [2, 3, 2]</span></div><div><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif">arr.toggle(1); // ???</span></div><div>```</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 7, 2020 at 3:49 AM manuelbarzi <<a href="mailto:manuelbarzi@gmail.com">manuelbarzi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">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). </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">```js<br>[1, 2, 3, 2, 1].toggle(1) // mutates the original array removing 1, resulting in [2, 3, 2]</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">```</div></div>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div>