簡體   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