2017-07-30 105 views
0

給我知道,在JavaScript中的評估爲真正,而評估爲的javascript while循環,正數爲條件

我的問題是關於JavaScript中的循環,格式如下:

while (condition) { 
code block to be executed 
} 

如果我通過一個整數作爲while循環的條件,請問對碼功能?更具體地講,這裏是我工作的發佈此問題之前,代碼:

function chunkArrayInGroups(arr, size) { 
    var newArr = []; 
    while (arr.length) { 
    newArr.push(arr.splice(0,size)); 
    } 
    return newArr; 
} 

chunkArrayInGroups([0, 1, 2, 3, 4, 5], 2); 

,它似乎是工作完全正常,返回newArr我需要它通過將原始陣列的方式(arr)需要的次數(大小)和推送到newArr。

如何評估條件arr.length?我的假設是,只要它不爲零,即非零數字,比如我< 2.

這次演習從freeCodeCamp來評估爲真,儘管它不是一個比較: 矮胖猴

+0

你的代碼沒問題。 while循環將執行到arr.length爲零。 – RJM

+0

是的,任何*非零*值在條件中都是正確的。 –

回答

1
  • 任何非0的數字計算爲true
  • 0評估爲false

所以,你的代碼將運行,直到arr.length等於0 - 它是相同的話說while (arr.length!=0)

0

如果你正在評估數組的length屬性,直到數組不爲空,將是真實的(長度不是0)。當數組爲空(長度爲0)時,評估將返回false。

0

是的,你是絕對正確的,因爲它是arr.length如此> 0被認爲是真正的評估爲真而arr的長度。這是javascript的一個很好的特徵,但它不是可讀的(就像你找到的那樣),因此可以讓任何不習慣它的人感到困惑。但是,如果你爲自己編碼,這是一個聰明的小功能!