Javascript 使用u.matches()和筛选主干模型

Javascript 使用u.matches()和筛选主干模型,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我想过滤所有具有多个相等键/值的主干模型。例如,我想匹配ID为123、名称为“John”的所有/第一个模型 我知道还有其他方法可以做到这一点,但我想利用matches()方法 是否可以使用下划线的matches()方法创建要传递到filter或find以查找主干模型的函数 var search_fn = _.matches({id: 123, type: 'John'}); var should_be_active = _.find(master_model_array, search_fn);

我想过滤所有具有多个相等键/值的主干模型。例如,我想匹配ID为123、名称为“John”的所有/第一个模型

我知道还有其他方法可以做到这一点,但我想利用
matches()
方法

是否可以使用下划线的
matches()
方法创建要传递到
filter
find
以查找主干模型的函数

var search_fn = _.matches({id: 123, type: 'John'});
var should_be_active = _.find(master_model_array, search_fn);

是的,它肯定会工作,类似于您所做的,但使用“过滤器”

重申:

// Sample data
var x = {name:"j", id: 1},
    y = {name: "j", id: 2},
    z = {name: "j", id: 1, more: "data"},
    match = _.matches({name: "j", id: 1});
var list = [x,y,z];

var result = _.filter(list, match);
这将产生x和z,因为它符合条件


希望能有帮助。

我不知道为什么不能;您是否有特定问题?此代码是否适用于主干模型(与对象文本x、y和z相反)?此外,除了使用
过滤器
方法外,您的代码还可以使用
find
方法工作。