gpt4 book ai didi

javascript - 在javascript中反转数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:25:55 24 4
gpt4 key购买 nike

我有一个名为 reverseArray 的 Javascript 函数,它接受一个数组作为参数并返回一个新数组,该数组的值与输入数组的值相同,但顺序相反。我想创建一个名为 reverseArryInPlace 的函数,它将输入数组的值更改为相反的顺序。

function reverseArray(inputArray) {
var outputArray = [];
for (var i = inputArray.length - 1; i >= 0; i--)
outputArray.push(inputArray[i]);
return outputArray;
}

function reverseArrayInPlace(inPlaceInputArray) {
inPlaceInputArray = reverseArray(inPlaceInputArray);
console.log('Inside reverseArrayInPlace: ' + inPlaceInputArray);
return inPlaceInputArray;
}

var arrayValue = [1, 2, 3, 4, 5];
reverseArrayInPlace(arrayValue);
console.log('Outside reverseArrayInPlace: ' + arrayValue);
// Expected Value: [5, 4, 3, 2, 1]

这是我执行这段代码时得到的结果:

Inside reverseArrayInPlace: 5,4,3,2,1
Outside reverseArrayInPlace: 1,2,3,4,5

在 reverseArrayInPlace 函数中,arrayValue 变量已按预期反转。为什么我在reverseArrayInPlace函数外引用同一个变量,又回到原来的顺序?

最佳答案

要想原地倒转,就得原地倒转。

function reverseArrayInPlace(array) {
for (let i = 0, j = array.length - 1; i < j; i++, j--)
[array[i], array[j]] = [array[j], array[i]];
}

const a = [1,2,3,4,5];
reverseArrayInPlace(a);
console.log(a);

关于javascript - 在javascript中反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43486578/

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