JavaScript now has a way to change elements, sort, reverse and splice arrays without changing the original, thus giving it immutability. The new methods are with()
, toSorted()
, toReversed()
and toSpliced()
. No need to create a copy with [...arr]
first. Only missing support is Firefox.
const arr = ['f','c','k','a','f','d']; const newArr = arr.with(2,'m'); // newArr -> ['f', 'c', 'm', 'a', 'f', 'd'] const sortArr = arr.toSorted(); // sortArr -> ['a', 'c', 'd', 'f', 'f', 'k'] const reverseArr = arr.toReversed(); // reverseArr -> ['d', 'f', 'a', 'k', 'c', 'f'] const splicedArr = arr.toSpliced(3, 3, 'it'); // splicedArr -> ['f', 'c', 'k', 'it']
Top comments (4)
Fortunately, they can be easily polyfilled.
Thank you for the helpful information!
I particularly like the
with
method the most. The only drawback is that it isn't currently compatible with Firefox. I hope it becomes available soonthanks for the useful information..
to quote the last will and testament of the spliced array, ['f', 'c', 'k', 'it']