Backbone.js Backbonejs搜索集合,模型为对象默认值

Backbone.js Backbonejs搜索集合,模型为对象默认值,backbone.js,collections,Backbone.js,Collections,我有一个这样的模型 var myModel = Backbone.Model.extend({ defaults: { a: '', b: '', c: '' } }); My collectionmyCollection用数据填充,并且c值是一个对象列表 我正在尝试找出如何在myCollection中查找一个值,以便它匹配我的模型c中的项目,并在找到匹配项时返回该模型 c中的值是如下对象 "c": {"1": {}, "2": {}, "3": {

我有一个这样的模型

var myModel = Backbone.Model.extend({
  defaults: {
      a: '',
      b: '',
      c: ''
  }
});
My collection
myCollection
用数据填充,并且
c
值是一个对象列表

我正在尝试找出如何在
myCollection
中查找一个值,以便它匹配我的模型
c
中的项目,并在找到匹配项时返回该模型

c
中的值是如下对象

"c": {"1": {}, "2": {}, "3": {}} 
使用函数,该函数迭代集合并返回与您的条件匹配的第一个模型。大概是这样的:

result = myCollection.find(function (model) {
  return model.get("c").indexOf(5) != -1;
});
或者使用而不是
find()
,来获取通过条件的所有模型。

使用函数,该函数迭代集合并返回与条件匹配的第一个模型。大概是这样的:

result = myCollection.find(function (model) {
  return model.get("c").indexOf(5) != -1;
});

或者使用而不是
find()
,来获取所有通过条件的模型。

非常感谢您的回复。例如,这是否允许我在
c
中包含的对象列表中搜索“2”,然后返回该模型?是的,您可以将第二行替换为如下内容:
return model.get(“c”)[“2”!==未定义再次感谢-我对这两个场景进行了修改。还是有点卡住了!如果有人遇到麻烦,我爱你的帮助。请记住,从直接
get
传递到
indexOf
的任何变量都必须是
indexOf(parseInt(var))
非常感谢您的响应。例如,这是否允许我在
c
中包含的对象列表中搜索“2”,然后返回该模型?是的,您可以将第二行替换为如下内容:
return model.get(“c”)[“2”!==未定义再次感谢-我对这两个场景进行了修改。还是有点卡住了!如果有人遇到麻烦,我爱你的帮助。请记住,从直接
get
传递到
indexOf
的任何变量都必须是
indexOf(parseInt(var))