Javascript 使用u.matches()和筛选主干模型
我想过滤所有具有多个相等键/值的主干模型。例如,我想匹配ID为123、名称为“John”的所有/第一个模型 我知道还有其他方法可以做到这一点,但我想利用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);
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
方法工作。