【问题标题】:Javascript inline condition: major than 0 return result if not return 0 [duplicate]Javascript内联条件:大于0返回结果,如果不返回0 [重复]
【发布时间】:2018-06-24 01:54:34
【问题描述】:
这样写一行可以吗?
let value1 = 10;
let value2 = 20;
let result = ( value1 - value2 ) / ( value1 - 1);
if (result<0)
result = 0;
类似这样的东西(但不必重写公式 2 次):
let result = ( ( ( value1 - value2 ) / ( value1 - 1) ) < 0 ) ? 0 : ( ( value1 - value2 ) / ( value1 - 1) );
【问题讨论】:
标签:
javascript
ecmascript-6
【解决方案1】:
您可以使用带有零的Math.max 作为另一个参数。
let value1 = 10;
let value2 = 20;
let result = Math.max((value1 - value2) / (value1 - 1), 0);
console.log(result);
【解决方案2】:
使用 Math.max 的 ans 逻辑很好。
您也可以尝试以下方法:
var value1 = 10;
var value2 = 20;
var v;
var result = (( v = (( value1 - value2 )/(value1 - 1))) < 0 ) ? 0 : v;
console.log(v);