探索JS数组新方法: Array.with()、Array.toSorted()、Array.toReversed() 和 Array.toSpliced()

我想请说下,探索JS数组新方法: Array.with()、Array.toSorted()、Array.toReversed() 和 Array.toSpliced()
最新回答
南极星老奶奶

2025-03-26 04:24:39

在JavaScript中,数组作为引用类型,若需执行`splice`、`sort`、`reverse`等方法而不修改原始数组,传统做法需先创建原始数组的副本。最近,JS新增了四种新的Array方法——Array.with()、Array.toSorted()、Array.toReversed() 和 Array.toSpliced(),简化了这一操作。

Array.with()方法返回一个全新的数组,其指定索引处的元素被替换为指定值。这改变了数组中指定索引处的值,且原数组保持不变。它不会生成稀疏数组,即使原数组是稀疏的,新数组对应的空白索引位置将替换为`undefined`。

Array.toSorted()方法是sort()方法的复制版本,返回一个新数组,其元素按升序排列。

Array.toReversed()方法是reverse()方法的复制版本,返回一个元素顺序相反的新数组。

Array.toSpliced()方法是splice()方法的复制版本,返回一个新数组,并在给定索引处删除和/或替换了一些元素。

这些方法在大多数浏览器中得到支持,但在Firefox中尚未支持。后续所有浏览器都将支持。若需了解当前支持情况,可查阅相关资料。