嗯,这有点hacky:
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 模块指挥官,所以我不处理 true 布尔值,只是处理 true 和 falsy 的东西。也可能有一个指挥官解决方案。
假设您有一系列选择,您可以这样做:
if(opts.filter(Boolean).length !== 1) {}
在我看来,你应该有一个具有三种可能状态的变量......
var opt = 'a'; // (or 'b', or 'c')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)