JavaScript - Array.copyWithin() 方法



在 Javascript 中,Array.copyWithin() 方法用于将数组元素从一个位置复制到指定数组中的另一个位置。此方法在复制元素后返回修改后的数组。

copyWithin() 方法会覆盖数组中现有的元素,而不会更改其长度。此方法不会向数组添加任何“新”项。

如果任何参数为负数,则索引将向后计数。例如,-1 代表最后一个元素,依此类推。

语法

以下是 Javascript Array.copyWithin() 方法的语法:

copyWithin(target, start, end)

参数

此方法接受三个参数。如下所述:

  • target − 复制的元素应粘贴到的索引。
  • start − 复制应开始的索引(默认值为 0)。
  • end (可选) − 复制应结束的索引(默认值为数组长度)。

返回值

此方法返回包含已复制元素的修改后的数组。

示例

示例 1

在下面的示例中,我们使用 Javascript Array.copyWithin() 方法从索引 0 开始复制元素,并将它们从索引 3 开始放置:

<html>
<body>
   <script>
      const array = ['apple', 'banana', 'cherry', 'date', 'grapes'];
      array.copyWithin(3, 0);
      document.write(array);
   </script>
</body>
</html>

输出

apple,banana,cherry,apple,banana

示例 2

在下面的示例中,我们复制最后两个元素,并将它们放在索引 -3(从末尾计数):

<html>
<body>
   <script>
      const array = ['apple', 'banana', 'cherry', 'date', 'grapes'];
      array.copyWithin(-3, -2);
      document.write(array);
   </script>
</body>
</html>

输出

apple,banana,date,grapes,grapes

示例 3

在这里,我们从索引 1 到索引 3 复制元素,并将它们从索引 0 开始放置:

<html>
<body>
   <script>
      const array = ['apple', 'banana', 'cherry', 'date', 'grapes'];
      array.copyWithin(0, 1, 4);
      document.write(array);
   </script>
</body>
</html>

输出

banana,cherry,date,date,grapes
广告