主干集合过滤器与位置和获取对象数组
Backbone collection filter with where and get array of objects
我有一个这样的json:
Constants
Contents(Array)
->Sections(Array)
-->sections.attribute1
->constants.attribute1
->constants.attribute2
Templates
我已经过滤了 json 以获取具有以下代码的内容集合:
var viasModel = Backbone.Model.extend({});
var viasCollection = Backbone.Collection.extend({
model: viasModel,
url: TEMPLATES_SERVICE,
parse: function(data){
return data.contents.data;
},
initialize: function(){
this.fetch();
},
route: function(via){
return this.where({viaId: via});
}
});
假设我已经使用路由函数过滤了集合的位置。
如何过滤部分(数组)并仅获取过滤集合的部分的元素?
是否与路由的每个返回值有关?
this.where({viaId: via});
我必须找到如何嵌套集合吗?任何帮助将不胜感激。
--编辑--
当我将变量分配给 arr 时,我得到一个带有属性的对象。
attributes: Object
-name: 'test',
-sections: Array[9]
--0: Object
---itemId: 'inicio'
---content: Array[2]
--1: Object
---itemId: 'hola'
---content: Array[2]
我想获取 itemId === 'inicio' 部分数组的内容对象。
我不想看起来很糟糕,所以如果你能指导我或给我一些帮助,我没事。
谢谢。
好的,感谢您的评论,似乎这基本上是关于过滤数组的,这是我的建议:
var arr = collectionGenerated.where(name: 'attribute');
var result = $.grep(arr, function(val) {
return val.itemId == 'attribute';
});
结果是仅包含适合两个过滤器的数组。
--编辑--
我想在你的数据结构中它是
var result = $.grep(arr.sections, function(val) {
return val.itemId === 'inicio';
});
相关文章:
- 从ajax请求中获取javascript对象
- 通过字符串获取JSON对象
- 如何在angular中获取json对象的名称
- 如何使用angular获取json对象的名称
- 获取一个对象´s属性的名称使用字符串
- 正在从嵌套值获取父对象
- 获取js对象键的值
- 获取原型对象的名称
- 如何从给定的代码中获取JSON对象
- 了解如何在数组中获取特定对象
- 获取整数对象属性名称的最小值和最大值
- 从Angular Scope中的Array中获取所有对象
- 在Javascript函数中获取Java对象属性
- 如何在JQUERY中从HTML文档中获取XML对象
- Backbone集合:如何从API中获取特定对象以放置在模型中
- 基于单个属性从数组中获取唯一对象
- 获取JSON对象中数组的长度
- 尝试获取每个对象的总和
- 正在尝试获取非对象php-DOM的属性
- 如何从HTML元素中获取Javascript对象