如何在 Javascript 中使用循环创建比较表达式?

How to create a comparison expression using loop in Javascript?

我有以下比较表达式:

return (!item['a'] || filter['a']) 
&& (!item['b'] || filter['b']) 
&& (!item['c'] || filter['c']);

但是假设我有一个很长的字符串列表要与 && 进行比较,例如

var myList = ['a','b','c','d']
for(var i in myList) {
   //(!item[myList[i]] || filter[myList[i]]) How am I suppossed to && this for every iteration?

} 

我应该如何 && 每次迭代的表达式?

您可以使用 .every:

return ['a', 'b', 'c', 'd'].every(prop => !item[prop] || filter[prop]);