Check exactly one boolean option set

后端 未结 6 514
后悔当初
后悔当初 2021-01-17 18:21

Well, this is kind of hacky:

function b2n(boo) {
    return boo ? 1 : 0;
}

if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) {
    throw new Error(\"Exactly one o         


        
6条回答
  •  孤街浪徒
    2021-01-17 18:59

    if ([opt1, opt2, opt3].reduce(function(x, y) { return x + !!y }, 0) == 1) {
        // exactly one
    };
    

    ECMAScript 5 reduce function.

提交回复
热议问题