为含糊的标题道歉。 我不知道这个问题怎么写!
在PHP和JS中,我都遇到过这样的情况:我希望返回一个值,但必须满足一个条件。 我在想是否还有更短的路我还没有发现?
示例:如果complexFunction()>=0,则返回它的值,否则返回零
complexFunction()返回值可能以不同的方式在多个地方使用,因此我不希望在函数本身中包含该条件
返回(complexFunction()>=0?complexFunction():0);
//效率低下-调用函数两次
$value = complexFunction();
return ($value >= 0 ? $value : 0);
//取2行并创建变量
返回(complexFunction()?>=0:0);
//ideal-complexFunction只执行一次,不手动赋变量,只使用一行
这在Excel中也有帮助:
=if(sum(ComplexRange)>1000,sum(ComplexRange),1000)
//效率低-执行两次复杂的过程
=如果(HelperColumnSum>1000,HelperColumnSum,1000)
//增加工作表大小
=ReturnIfConditionElse(sum(ComplexRange),“>1000”,1000)
//理想-无helpercolumn或重复计算
您可以将最大值取为零,也可以取complexFunction
调用的结果。
return Math.max(complexFunction(), 0);