我有4个变量,其中任何一个都可以是真或假
var a
var b
var c
var d
我想测试3个条件:
我知道4个中的0个是真的:
a!=true && b!=true && c!=true && d!=true
和 在以下情况下,4个中有4个是真的:
a==true && b==true && c==true && d==true
但我无法进一步思考。
答案 0 :(得分:2)
您可以使用布尔值添加变量。结果是一个数字。
value = a + b + c + d;
然后你可以再次检查数字,你想测试。
var a = false, b = true, c = true, d = true,
value = a + b + c + d;
console.log(value);

答案 1 :(得分:1)
当处理一堆"事情"如果要运行相同的测试,通常使用数组对它们进行分组是有意义的。
var collection = [a, b, c, d];
然后,您可以获得与filter的测试匹配的元素数组:
var true_elements = collection.filter(function (value) { return (value == true); });
然后您可以计算结果:
console.log(true_elements.length);
做你喜欢的任何测试
if (true_elements.length === 1) { ... }
if (true_elements.length >= 1) { ... }
// etc
答案 2 :(得分:1)
Javascript允许您一起添加布尔类型。在执行此操作时,它将参数转换为整数类型,其中true
为1,false
为0。
所以你可以写
a + b + c + d == 3
作为3个true
值和1 false
值的测试。
并非所有语言都支持此(例如Java),但Javascript,C和C ++都支持此功能。请注意使用-1作为True
值的Visual Basic类型语言。