📜  JavaScript数组copyWithin()

📅  最后修改于: 2020-09-27 05:38:09             🧑  作者: Mango

JavaScript Array copyWithin()方法将数组元素浅复制到数组中的另一个位置,从而覆盖现有值。

copyWithin()方法的语法为:

arr.copyWithin(target, start, end)

在这里, arr是一个数组。


copyWithin()参数

copyWithin()方法具有以下功能:

  • 目标 -的索引位置的元素复制到。
  • start (可选)-从中开始复制元素的索引位置。如果省略,它将从索引0复制。
  • end (可选)-从中结束复制元素的索引位置。 (专有)如果省略,它将复制到最后一个索引。

笔记:

  • 如果任何一个参数为负,索引将从倒数开始计数。例如, -1表示最后一个元素,依此类推。
  • 如果目标值启动之后,则将修剪复制的序列以适合arr.length

从copyWithin()返回值
  • 复制元素后返回修改后的数组。

注意事项

  • 此方法将覆盖原始数组。
  • 此方法不会更改原始数组的长度。

示例:使用copyWithin()方法
let array = [1, 2, 3, 4, 5, 6];

// target: from second-to-last element, start: 0, end: array.length
let returned_arr = array.copyWithin(-2);
console.log(returned_arr); // [ 1, 2, 3, 4, 1, 2 ]
// modifies the original array
console.log(array); // [ 1, 2, 3, 4, 1, 2 ]

array = [1, 2, 3, 4, 5, 6];
// target: 0, start copying from 5th element
array.copyWithin(0, 4);
console.log(array); // [ 5, 6, 3, 4, 5, 6 ]

array = [1, 2, 3, 4, 5, 6];
// target: 1, start copying from 3rd element to second-to-last element
array.copyWithin(1, 2, -1); // -1 = last element (exclusive)
console.log(array); // [ 1, 3, 4, 5, 5, 6 ]

输出

[ 1, 2, 3, 4, 1, 2 ]
[ 1, 2, 3, 4, 1, 2 ]
[ 5, 6, 3, 4, 5, 6 ]
[ 1, 3, 4, 5, 5, 6 ]