gpt4 book ai didi

javascript - JavaScript array.reverse() 是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 14:23:56 25 4
gpt4 key购买 nike

如何使用 .reverse() 制作数组的反向副本?我无法解决这个问题。

这是我的功能:

function flipArray(inputArray){
let origArray = inputArray;
let flippedArray = origArray.reverse();

console.log(inputArray);
console.log(origArray);
console.log(flippedArray);
}

flipArray([1,2,3]);

我希望这个...

[1, 2, 3]
[1, 2, 3]
[3, 2, 1]

或者这个...

[1, 2, 3]
[3, 2, 1]
[3, 2, 1]

但这就是我得到的...

[3, 2, 1]
[3, 2, 1]
[3, 2, 1]

为什么 inputArray 也会被反转?除了 for 循环之外,还有其他方法可以做到这一点吗?

最佳答案

Array.prototype.reverse 反转数组就地。它修改原始数组并返回对它的引用。为了在反转之前创建原始数组的副本,您可以使用 Array.prototype.slice,例如:

function flipArray(inputArray){

let origArray = inputArray.slice(0);
let flippedArray = inputArray.slice(0).reverse();

console.log(inputArray);
console.log(origArray);
console.log(flippedArray);
}

flipArray([1,2,3]) 现在生成

[1,2,3]
[1,2,3]
[3,2,1]

关于javascript - JavaScript array.reverse() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52245350/

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