如何在 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]);
我有以下比较表达式:
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]);