我想在不使用这样的 reverse() 函数的情况下反转数组:
function reverse(array){
var output = [];
for (var i = 0; i<= array.length; i++){
output.push(array.pop());
}
return output;
}
console.log(reverse([1,2,3,4,5,6,7]));
但是,它显示 [7, 6, 5, 4] 有人可以告诉我,为什么我的反向功能是错误的?提前致谢!
最佳答案
array.pop()
从数组中删除弹出的元素,将其大小减一。 一旦你在 i === 4
,您的中断条件不再计算为 true
循环结束。
一种可能的解决方案:
function reverse(array) {
var output = [];
while (array.length) {
output.push(array.pop());
}
return output;
}
console.log(reverse([1, 2, 3, 4, 5, 6, 7]));
关于javascript 在不使用 reverse() 的情况下反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40751207/