首页 > 解决方案 > 如何检查多个变量是否为真?

问题描述

例如,假设我有一个包含 6 个布尔变量的列表。如果其中任何 3 个是true,请做一些事情。

在我的特殊情况下,我正在看这样的东西:

var categoriesClicked = [];
if (category1Clicked) {
  categoriesClicked.push('category1Clicked');
}
if (category2Clicked) {
  categoriesClicked.push('category2Clicked');
}
...
if (categoriesClicked.length > 3) {
  //User clicked at least 3 categories, do something
}

这会是最好的方法吗?

标签: javascript

解决方案


您可以使用值数组,然后过滤真实值以获得长度

演示:

var valueArray = [true, true, false, true, false, false];
var trueValCount = valueArray.filter(v => v).length;
if (trueValCount === 3) {
  console.log('Has 3 true value');
}


推荐阅读