我在将过滤器缩小到JSON中所需的特定对象时遇到麻烦。
JSON:
var items = {
"itemsGroup": [
{
"item": [
{"description": "Name", "value": "Jane Doe"},
{"description": "Age", "value": 23},
{"description": "Phone", "value": "515-555-1234"},
{"description": "Address", "value": "123 Fake St"},
{"description": "City", "value": "Winchestertonfieldville"},
{"description": "State", "value": "IA"},
{"description": "Zip", "value": 50000}
],
},
{
"item": [
{"description": "Eye Color", "value": "Blue"},
{"description": "Hair", "value": "Blonde"},
{"description": "Height", "value": "5'6"},
{"description": "Weight", "value": 125}
]
}
]
}
我想要第一个嵌套数组中包含Name
的对象:
{"description": "Name", "value": "Jane Doe"}
我可以这样实现:
_.findWhere(items.itemsGroup[0].item, {description:'Name'})
但是我想考虑JSON可能会改变的情况。
我最近得到的就是这个下划线功能:
_.filter(items.itemsGroup, function(i) {
return _.findWhere(i.item, {description:'Name'});
});
但是这将返回整个第一个嵌套数组,而不是我要查找的对象(如我的第一个示例)。>>
"item": [ {"description": "Name", "value": "Jane Doe"}, {"description": "Age", "value": 23}, {"description": "Phone", "value": "515-555-1234"}, {"description": "Address", "value": "123 Fake St"}, {"description": "City", "value": "Winchestertonfieldville"}, {"description": "State", "value": "IA"}, {"description": "Zip", "value": 50000} ]
我花了太多时间试图解决我的问题。寻找一些指导。
谢谢!
我无法将过滤器缩小到JSON中所需的特定对象。 JSON:变量项= {“ itemsGroup”:[{“ item”:[{“ description”:“名称”,“ ...
“ itemsGroup”的内容是数组,因此您可以迭代该数组。