如何编写无逻辑/条件运算符的函数:输入5返回9、输入9返回5
实现无条件判断的数值互换函数
以下几种方法都可以实现需求,且完全不使用if-else、switch这类条件语句:
数学求和法
观察到5和9的总和是14,用总和减去输入值即可得到对应的互换结果,这是最简洁的方案:function cal(n) { return 14 - n; }对象映射法
用对象键值对直接建立输入与输出的映射关系,通过属性访问直接返回结果:function cal(n) { return { 5: 9, 9: 5 }[n]; }数组索引法
利用输入值与5的差值计算数组索引,通过索引获取对应结果(仅适用于输入为5或9的场景):function cal(n) { return [9, 5][(n - 5) / 4]; }
内容的提问来源于stack exchange,提问作者Sid khan
相关产品推荐
相关产品推荐

