JavaScript中的新阵列方法带来不变性
#javascript #性能 #immutability

javaScript现在可以改变元素,排序,反向和拼接数组而不更改原件,从而赋予其不变性。新方法是with()toSorted()toReversed()toSpliced()。无需先用[...arr]创建副本。唯一缺少的支持是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']