好吧,这有点骇人听闻:
function b2n(boo) {
return boo ? 1 : 0;
}
if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) {
throw new Error("Exactly one option must be set");
}
有没有更好的方法在 Javascript 中做到这一点?使用任何
- 更智能的布尔/数字处理
- 偷偷摸摸的数组或函数操作
等等。欢迎使用 Javascript 和 Node 解决方案。
在我的实际问题中,选项来自 Node 模块指挥官,所以我不是在处理真正的布尔值,而是真实和虚假的事情。也可能有一个指挥官解决方案。