我有一个显示父子关系的json对象。
我发现查询某个孩子非常困难。
例如,这是数据。
var parents = [
{
name: 'Susan',
children: [{
name: 'Joe'
}, {
name: 'Sam'
}, {
name: 'Michael'
}]
},
{
name: 'Ted',
children: [{
name: 'Richard'
}, {
name: 'Brad'
}]
}
]
我希望能够以优雅的方式根据父名和子名找到对象。
父母:苏珊 孩子:乔以下是我在C#中尝试做的3种查询的方法
var parentQuery = parents.filter(parent=> parent.name == 'Susan');
var childQuery = parents.filter(parent=> parent.children.name == 'Joe');
var parentChildQuery = parents.filter(parent=> parent.name == 'Susan' && parent.children.name == 'Joe')
在Javascript中,parentQuery开箱即用,令我高兴。但是childQuery搜索不起作用。由于父有一个内部数组,我不知道如何引用查询属性。如下所示。
parent.children.name =='Joe'
非常感谢任何帮助!
答案 0 :(得分:2)
.children
是一个数组,并且没有.name
属性。也许你的意思是
parents.filter(parent => parent.children[0].name == 'Joe');
parents.filter(parent => parent.children.every(child => child.name == 'Joe'));
parents.filter(parent => parent.children.some(child => child.name == 'Joe'));