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

上記の文を伝える最も効率的な方法は何ですか?これの略語は何ですか?

+1

最も簡潔ですか?読める?計算効率の点でそれを上回るのは難しいでしょうから –

+0

[javascript/jqueryの可能な複製] - 2つの数値のうち大きい方を選択してください](http://stackoverflow.com/questions/13424721/javascript-jquery-select-the- 2つの数値の大きい方) –

答えて

7

Math.max関数はゼロまたは以上番号の最大を返します。

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

好奇心の外に、ゼロのうち最大のものは何ですか?あなたはそれを何のために使うのですか? – Sam

+0

[docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max)によると:「引数が与えられていなければ、結果は-Infinityです。 。これは、あるMath.max呼び出しの結果を別のMath.max呼び出しの結果と比較するときに役立ちます。あるいは、あなたがargsの数が実行時にしか知られておらず、ゼロかもしれません –

1

声明(三項演算子)のIFインライン試してみてください。

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

3項と呼ばれます。また、偽の場合に空の文字列で '最高 'を上書きすることは望ましくないでしょうか?私は '〜をお勧めします:最高;' – arcyqwerty

+0

ありがとう、私の答えを更新していただきありがとうございます。 –

3

次の2つの値、highestpf[i].lengthの最大値を取得するためにMath.maxを使用することができます。

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

または、3項演算子を使用することもできます。

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

3進演算の値が返され、変数highestに設定されます。

関連する問題