我期望下面的代码返回Chris Davis和Mike Trout。它只会返回Mike Trout。无法匹配多个值吗?请记住,我最终需要匹配30多个值。我也尝试使用indexOf,但伸缩性不好。
jsonData:
{ matchup: '@ LAA', name: 'Chris Davis' }
{ matchup: 'vs BAL', name: 'Mike Trout' }
jsonData.forEach(function (element, i) {
if (_.isMatch(jsonData[i], {matchup: 'vs BAL' || 'vs LAA'}) == true) {
console.log(jsonData[i].name)
};
})
最佳答案
您可以在以下语句中使用||
:
if (_.isMatch(jsonData[i], {matchup: 'vs BAL'}) || _.isMatch(jsonData[i], {matchup: 'vs LAA'))
或更动态地,您可以存储所需的值并进行迭代:
var matches = ['vs BAL', 'vs LAA']
var isMatch = matches.some(function(match) {
return _.isMatch(jsonData[i], {matchup: match})
})
if (isMatch) {
console.log(jsonData[i].name)
}
关于javascript - 我可以_.isMatch多个值吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31910322/