2

蔭試圖理清一個多維陣列,把每個子陣列的數量最多的一個陣列,雙循環,但IAM得到一個無限循環的錯誤因爲某些原因:JavaScript的無限循環錯誤多維數組排序

的陣列進行排序:

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]); 

的代碼:

function largestOfFour(arr) { 
    var temp; 
    for (var i = 0; i < arr.length; i++) { 
     var largestNumber = 0; 
     for (var j = 0; i < arr[i].length; j++) { 
      if (largestNumber < arr[i][j]) { 
       largestNumber = arr[i][j]; 
      } 
     } 
     temp[i] = largestNumber; 
    } 
    return temp; 
} 
+4

'I <常用3 [I] .length'? –

+1

'我 cske

回答

1

需要兩個變化,一個用於右類型的變量的分配結果,並且在t時的檢查他用正確的變量循環。

function largestOfFour(arr) { 
 
    var temp = []; // necessary 
 
    for (var i = 0; i < arr.length; i++) { 
 
     var largestNumber = 0; 
 
     for (var j = 0; j < arr[i].length; j++) { 
 
      //   ^^ j instead of i 
 
      if (largestNumber < arr[i][j]) { 
 
       largestNumber = arr[i][j]; 
 
      } 
 
     } 
 
     temp[i] = largestNumber; 
 
    } 
 
    return temp; 
 
} 
 

 
console.log(largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));