gpt4 book ai didi

JavaScript Array.copyWithin 方法

转载 作者:行者123 更新时间:2023-11-30 08:26:52 25 4
gpt4 key购买 nike

当我使用 Array.prototype.copyWithin 方法时:

[1, 2, 3, 4, 5].copyWithin(-3,0,-1);

输出是

[1, 2, 1, 2, 3]

数字1、2、3是如何加到输出结果中的?

最佳答案

你有什么

 [1, 2, 3, 4, 5].copyWithin(-3, 0, -1); // [1, 2, 1, 2, 3]

你做什么

[1, 2, 3, 4, 5]         values
0 1 2 3 4 indices from start
-5 -4 -3 -2 -1 indices from end
^ ^ ^ needed indices
| | +-------- end
| +-------------- target
+-------------------- start
[1, 2, 3, 4, 5] given array
[ 1, 2, 3, 4, 5] copied values
[1, 2, 1, 2, 3] result array, keeping the same length

您需要更改开始值和结束值。

基本上您有 4 种可能性,要么从头开始获取索引,要么从尾部获取索引。

[1, 2, 3, 4, 5]  values
0 1 2 3 4 indices from start
-5 -4 -3 -2 -1 indices from end
^ ^ ^ needed indices
| | +------- target
| +---------- end
+------------- start

console.log([1, 2, 3, 4, 5].copyWithin(2, 0, 1).join(', '));
console.log([1, 2, 3, 4, 5].copyWithin(2, -5, -4).join(', '));
console.log([1, 2, 3, 4, 5].copyWithin(-3, 0, 1).join(', '));
console.log([1, 2, 3, 4, 5].copyWithin(-3, -5, -4).join(', '));

关于JavaScript Array.copyWithin 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44254865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com