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]