gpt4 book ai didi

javascript - 如何在javascript中重新排列数组

转载 作者:行者123 更新时间:2023-11-28 17:09:25 24 4
gpt4 key购买 nike

我希望数组在最后一个和第一个之间切换位置。输出结果将为 8-1但是当我尝试这样做时,第一个索引未定义,第二个索引仍然是 1

var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];

for (var i = 0; i <= arr1.length / 2; i++) {
var tmp = arr1[i];
arr1[i] = arr1[arr1.length - i];
arr1[arr1.length - i] = tmp;
};

console.log(arr1);

谁能帮我理解为什么?

最佳答案

for (var i =0; i<= arr1.length/2;i++){
var tmp = arr1[i];
arr1[i] = arr1 [arr1.length-i-1] ;
arr1 [arr1.length-i-1] = tmp ;
};

我们减去 1,因为当 i 为 0 时,arr1.length-i是数组长度,已经超出数组末尾了。

我不认为i<=arr1.length/2也必然是正确的,4 和 5 不会被交换(或者可能它们被交换两次)。我尝试了这个,它起作用了:i<= arr1.length/2-1 。这也有效:i < arr1.length/2 。还测试了偶数和奇数数组长度的那些,看起来不错。第二个可能更有意义哈哈。

关于javascript - 如何在javascript中重新排列数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54866481/

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