用于项对象的主干方法
Backbone where method for item object
下面是JSON数据示例
"items": [{
"id": "18",
"attributes": [{
"identifier": "Style",
"value": "peacock"
}, {
"identifier": "Size",
"value": "L"
}]
},
{
"id": "300438",
"attributes": [{
"identifier": "Style",
"value": "peacock"
}, {
"identifier": "Size",
"value": "M"
}]
}]
我需要得到的项目id,其中Style = peacock和Size = L。我如何使用骨干网做到这一点?
我做了一个像
这样的集合var itemsCollection = new IEA.Collection(itemsData)
underscore.js不支持对嵌套对象进行过滤,您可以在filter和where函数之间组合使用
filteredItems = itemsCollection.filter(function(item) {
return _.where(item.get("attributes"), {
"identifier": "Style",
"value": "peacock"
}).length > 0 &&
_.where(item.get("attributes"), {
"identifier": "Size",
"value": "M"
}).length > 0;
});
可选。我通过创建新的数组并在其中存储所需的值来简化JSON。然后使用backbone where方法返回id。
productData.items.forEach(function(item, index) {
var data = {'id': item.id};
item.attributes.forEach(function(attribute) {
data[attribute.identifier] = attribute.value
});
productVariants.push(data);
});
var itemsCollection = new backbone.Collection(productvariables);
相关文章:
- 序列化数据属性中对象的最可靠方法
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 如何从对象的原型方法访问JavaScript对象属性
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 设置嵌套对象属性的更好方法
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- 对象不支持属性或方法“自动完成”
- call()和apply()实际上是用来欺骗方法处理类似数组的对象的
- 对象文字方法上的Javascript绑定不起作用
- Meteor应用程序无法运行-对象#<编译器>没有方法'主机'
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- Underscore.js某些对象的所有方法的总和
- 对象#<XMLHttpRequest>没有方法'完成'
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 丢失对象“;这个“;方法中的上下文
- 如何在ajax中调用javascript对象的方法
- 为什么页面方法对象未定义
- 如何使用在另一个文件中定义的JavaScript方法/对象
- 如何告诉JsHint忽略“未解析的函数或方法”?对象上的警告
- 使用jinja/javascript动态创建方法/对象