我有一个查询,我需要匹配任何多个值。_.where 方法非常接近:
这是 _where 文档:
where_.where(list, properties) 查看列表中的每个值,返回包含属性中列出的所有键值对的所有值的数组。
_.where(listOfPlays, {author: "Shakespeare", year: 1611});
=> [{title: "Cymbeline", author: "Shakespeare", year: 1611},
{title: "The Tempest", author: "Shakespeare", year: 1611}]
我需要一个 .whereAny 方法:
_.whereAny(listOfMovies, {director: "Tarantino", director: "Scorcese"});
=>[{title: "Pulp Fiction", director: "Tarantino", year:1996},{title:"Taxi", director: "Scorcese", year:1983}]
它将返回与任何提供的键值对匹配的对象数组。我错过了这种方法,还是有一种简单的方法可以做到?
非常感谢!
更详细的解释 - 我正在尝试使用三个复选框过滤大量对象。原始数据集中的每个项目都有一个对应于这三个值之一的属性。如果您选择复选框 1(值:红色),我将获得原始数据集的子集,其中仅包含键值 = 红色的项目。如果您还选择了复选框 2(值:橙色),那么我将需要查询这两个值,依此类推。