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']