We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
对于 Array 的一些操作,例如 reverse、sort 等都会改变原数组,ES2023 对以下这些方法进行了拓展,提供了相同功能但是返回新副本的方法。
下面进行一个详细的介绍。
示例 1.js
// reverse const a = [1, 2, 3]; const b = a.reverse(); console.log(a); // [3, 2, 1] console.log(b); // [3, 2, 1] // toReversed 👍 const c = [1, 2, 3]; const d = c.toReversed(); console.log(c); // [1, 2, 3] console.log(d); // [3, 2, 1]
示例 2.js
// sort const a = [3, 1, 2]; const b = a.sort(); console.log(a); // [1, 2, 3] console.log(b); // [1, 2, 3] // toSorted 👍 const c = [3, 1, 2]; const d = c.toSorted(); console.log(c); // [3, 1, 2] console.log(d); // [1, 2, 3]
不过,由于 splice 和 toSpliced 的返回值存在以下差异,因此处理它们时似乎需要小心。
示例 3.js
// splice const a = [1, 2, 3, 4]; const b = a.splice(1,2); console.log(a); // [1,4] console.log(b); // [2,3] 返回值是删除的值排列的值 // toSpliced 👍 const c = [1, 2, 3, 4]; const d = c.toSpliced(1,2); console.log(c); // [1,2,3,4] console.log(d); // [1,4] 返回从数组中删除元素的副本
在第一个参数中指定数组的索引号,并将该元素替换为第二个参数的值。
JS 已经有一个单独的 with 语句,但它已被弃用,所以它很混乱,因为它与这次添加的数组操作的 with 方法重叠。
示例 4.js
// with 👍 const c = [1, 2, 3, 4]; const d = c.with(1,'👍'); console.log(c); // [1, 2, 3, 4] console.log(d); // [1, '👍', 3, 4]
这些方法的出现,使得你不需要每次都浅复制,代码看起来很清爽。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
对于 Array 的一些操作,例如 reverse、sort 等都会改变原数组,ES2023 对以下这些方法进行了拓展,提供了相同功能但是返回新副本的方法。
下面进行一个详细的介绍。
toReversed
示例 1.js
toSorted
示例 2.js
toSpliced
不过,由于 splice 和 toSpliced 的返回值存在以下差异,因此处理它们时似乎需要小心。
示例 3.js
with
在第一个参数中指定数组的索引号,并将该元素替换为第二个参数的值。
JS 已经有一个单独的 with
语句,但它已被弃用,所以它很混乱,因为它与这次添加的数组操作的 with 方法重叠。
示例 4.js
最后
这些方法的出现,使得你不需要每次都浅复制,代码看起来很清爽。
The text was updated successfully, but these errors were encountered: