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)
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 soonFortunately, they can be easily polyfilled.
thanks for the useful information..
to quote the last will and testament of the spliced array, ['f', 'c', 'k', 'it']