就是转换成可以运算的 > >=
这样的代码: switch (condition.type) { case '>': status = value > condition.val ? 'Firing' : 'Normal' break case '>=': status = value >= condition.val ? 'Firing' : 'Normal' break } 我想写的简短优雅一点 if (condition.type) { status = value Symbol(condition.type) condition.val ? 'Firing' : 'Normal' }
上面这个 Symbol(condition.type) 是我臆想出来的方法😅 ,不知道是否有这样的函数,我查到了 eval()但是不符合我的需求
1
codehz 2022-07-15 19:44:21 +08:00
c=(op)=>new Function('a','b',`return a${op}b`)
用法:c('>')(1, 2) |
2
secondwtq 2022-07-15 22:28:09 +08:00
感觉楼主要找的这种解决方式不太“优雅”( /t/861048 )
不知道楼主看没看过 LISP ,这些操作符就是个函数而已,做个 map 就是了 |
3
muunala10221 OP @codehz 牛 谢谢
|
4
muunala10221 OP @secondwtq 也是想多看看别人的思路,题目中的代码应该是大多数人的写法
|