【问题标题】: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);

【讨论】:

    猜你喜欢
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2013-05-23
    • 2021-08-03
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多