下划线.find()与具有相同键值的倍数

时间:2018-03-06 08:51:50

标签: javascript underscore.js

我目前正试图通过POST从一个表单过滤一个对象,表单由复选框组成,因此我需要能够在同一个键上搜索多个值的对象数组。

我的POST看起来与此相似,

{
    tax_year: ['2016/17', '2017/18'],
    status : ['completed'],
    user : [1,4,78]
}

如何搜索对象数组并返回具有匹配键和值的所有对象?我知道我可以用下划线做一个像这样的发现,

var result = _.where(historyData, {tax_year: "2016/17"});

但我不知道如何搜索多个匹配的键和值?

1 个答案:

答案 0 :(得分:0)

似乎您匹配数组值中的两个值(无论是否有更多数组值)。如果这是真的,您可能必须使用_.filter()方法,您可以在其中提供“谓词”中所需的任何逻辑。或者,您可以在服务器端为每条记录添加唯一标识符并在其上进行匹配。