2015-10-16 103 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