JavaScript - Array copyWithin() 方法



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

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

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

语法

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


 copyWithin(target, start, end)

参数

此方法接受三个参数。下面描述相同 -

  • target - 应将复制的元素粘贴到的索引。
  • start - 复制应开始的索引(默认值为 0)。
  • end (可选) − 复制应结束的索引(默认值为 array length)。

返回值

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

示例 1

在下面的示例中,我们将复制从索引 0 开始的元素,并使用 Javascript Array.copyWithin() 方法将它们从索引 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