繁体   English   中英

为什么这个reverseArrayInPlace函数不起作用?

[英]Why does this reverseArrayInPlace function not work?

我已经在该网站和其他网站上看到了该问题的答案,但是我没有在寻找使用另一组代码的问题的答案-我试图理解为什么这个特定代码无法按预期工作。 任何帮助将不胜感激。

任务是创建一个功能,该功能可以反转数组的顺序。 此任务的局限性在于,我不能使用内置的反向数组方法,也不能创建第二个数组,而只能复制原始数组。 我以为这段代码可以用,但不能用,我不知道为什么。 提前致谢。

var reverseArrayInPlace = function(array) {
  for (var i = 0; i < Math.floor(array.length / 2); i++) {
    var placeHolder = array[i];
    array [i] = array[length - i - 1];
    array[length - i - 1] = placeHolder;
  }
};

如评论中所述,您需要定义length或使用array.length

 var reverseArrayInPlace = function(array) { for (var i = 0; i < Math.floor(array.length / 2); i++) { var length = array.length; var placeHolder = array[i]; array [i] = array[length - i - 1]; array[length - i - 1] = placeHolder; } }; var arr = [1, 2, 3, 4, 5]; reverseArrayInPlace(arr); console.log(arr); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM