推荐答案
// www.javascriptcn.com code example const arr = [3, 1, 4, 1, 5, 9]; // toSorted: 返回一个新数组,元素按升序排列 const sortedArr = arr.toSorted(); console.log(sortedArr); // [1, 1, 3, 4, 5, 9] // toReversed: 返回一个新数组,元素顺序反转 const reversedArr = arr.toReversed(); console.log(reversedArr); // [9, 5, 1, 4, 1, 3] // toSpliced: 返回一个新数组,删除或替换指定位置的元素 const splicedArr = arr.toSpliced(2, 2, 6, 7); console.log(splicedArr); // [3, 1, 6, 7, 5, 9] // with: 返回一个新数组,替换指定位置的元素 const newArr = arr.with(2, 8); console.log(newArr); // [3, 1, 8, 1, 5, 9]
本题详细解读
toSorted
toSorted 方法返回一个新数组,其中的元素按升序排列。与 sort 方法不同,toSorted 不会修改原数组,而是返回一个新的排序后的数组。
toReversed
toReversed 方法返回一个新数组,其中的元素顺序与原数组相反。与 reverse 方法不同,toReversed 不会修改原数组,而是返回一个新的反转后的数组。
toSpliced
toSpliced 方法返回一个新数组,可以在指定位置删除或替换元素。与 splice 方法不同,toSpliced 不会修改原数组,而是返回一个新的修改后的数组。该方法接受三个参数:起始位置、删除的元素数量以及要插入的新元素。
with
with 方法返回一个新数组,替换指定位置的元素。与直接修改数组元素不同,with 不会修改原数组,而是返回一个新的修改后的数组。该方法接受两个参数:要替换的元素位置和新的元素值。
这些方法都是 ECMAScript 2023 中引入的新特性,旨在提供更安全和更直观的数组操作方式,避免直接修改原数组。