2015-10-16 93 views
5
if(pf[i].length > highest){ 
    highest = pf[i].length; 
} 

傳達上述聲明的最有效方式是什麼?這是什麼JavaScript簡寫?

+1

你的意思是最簡潔嗎?可讀?因爲在計算效率方面很難打敗 –

+0

[javascript/jquery可能重複 - 選擇兩個數字中的較大者](http://stackoverflow.com/questions/13424721/javascript-jquery-select-the-較大的兩個數字) –

回答

7

Math.max函數返回最大的零個或更多數字的。

highest = Math.max(pf[i].length, highest) 
+0

只是出於好奇,最大的零意味着什麼?你會怎樣使用它? – Sam

+0

根據[文檔](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max):「如果沒有給出參數,結果是-Infinity」 。將一個Math.max調用的結果與另一個Math.max調用的結果進行比較時,這可能很有用。或者當你在運行時只知道參數的數量並且可能爲零 –

1

嘗試在線IF語句(三元運算符):

highest = pf[i].length > highest ? pf[i].length : highest; 
+1

稱爲三元組。此外,這不會不必要地在假的情況下用空字符串覆蓋「最高」?我建議':最高;' – arcyqwerty

+0

好的,謝謝,更新我的答案。 –

3

您可以使用Math.max,以獲得最大的兩個值,highestpf[i].length的。

highest = Math.max(highest, pf[i].length); 

或者,你也可以使用三元運算符。

highest = pf[i].length > highest ? pf[i].length : highest; 
//  ^^^^^^^^^^^^^^^^^^^^^^       Condition 
//         ^^^^^^^^^^^^   Execute when True 
//            ^^^^^^^ Execute when False 

從三元操作的值被返回,並且被設置爲變量highest