1. toSorted
用法和 sort 一样,但是不改变原数组。
let arr = [2, 3, 9, 5, 8]; arr.sort((a, b) => a - b); // [2, 3, 5, 8, 9] arr; // [2, 3, 5, 8, 9] let _arr = [2, 3, 9, 5, 8]; _arr.toSorted((a, b) => a - b); // [2, 3, 5, 8, 9] _arr; // [2, 3, 9, 5, 8]
2. toReversed
用法和 reverse 一样,但是不改变原数组。
let arr = [2, 3, 9, 5, 8]; arr.reverse(); // [8, 5, 9, 3, 2] arr; // [8, 5, 9, 3, 2] let _arr = [2, 3, 9, 5, 8]; _arr.toReversed(); // [8, 5, 9, 3, 2] _arr; // [2, 3, 9, 5, 8]
3. toSpliced
用法和 splice 一样,但是不改变原数组。
let arr = [2, 3, 9, 5, 8]; arr.splice(0, 1); // [2] arr; // [3, 9, 5, 8] let _arr = [2, 3, 9, 5, 8]; _arr.toSpliced(0, 1); // [3, 9, 5, 8] _arr; // [2, 3, 9, 5, 8]
4. with
以前我们要修改数组里的某项,arr[0] = 1 会将原数组修改了。使用 with 可以返回一个新数组。
let arr = [2, 3, 9, 5, 8]; arr[0] = 1; arr; // [1, 3, 9, 5, 8] let _arr = [2, 3, 9, 5, 8]; _arr.with(0, 1); // [1, 3, 9, 5, 8] _arr; // [2, 3, 9, 5, 8]