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 ]