我在表格上方有4个复选框,用户可以使用该复选框从表格中过滤项目。通过javascript中的逻辑AND操作过滤多个属性
我目前使用Array.prototype.filter
来筛选结果,但我确定其中的逻辑不正确。
我现在该过滤器基本上是:
// Note: a, b, c, and d are booleans representing the checked
// state of each checkbox. They essentially map to a property on each
// object in the array.
arry.filter(function(i) {
if(a) return i.hasA;
if(b) return i.hasB;
if(c) return i.hasC;
if(d) return i.hasD;
});
这里的结果不是我想要的东西。我想做类似的事情:
if(a && b && c && d) return i.hasA && i.hasB && i.hasC && i.hasD;
但是,这样的排列会失去控制。本来就有一个更简单的方法来做到这一点。
任何想法?
将被视为复选框或(包括满足任何的检查结果选项)或AND(包括符合所有选项的结果)? –
“坚持以前的过滤器”是什么意思? –
对不起,我试图让这个更清楚。复选框将被视为AND运算符。基本上,当所有4个选项都被选中时,过滤器应该只返回所有4个属性设置为true的项目。 – mariocatch