我有一个显示父子关系的 json 对象。
我觉得很难查询某个 child 。
例如这里的数据。
var parents = [
{
name: 'Susan',
children: [{
name: 'Joe'
}, {
name: 'Sam'
}, {
name: 'Michael'
}]
},
{
name: 'Ted',
children: [{
name: 'Richard'
}, {
name: 'Brad'
}]
}
]
以一种优雅的方式,我希望能够根据父名称和子名称找到对象。
家长:苏珊 child :乔
以下是我在 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')
令我高兴的是,parentQuery 在 Javascript 中开箱即用。但是 childQuery 搜索不起作用。由于 parent 有一个内部数组,我不确定如何引用以查询属性。如下所示。
parent.children.name == 'Joe'
如有任何帮助,我们将不胜感激!
最佳答案
.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'));
关于javascript - 查询 JavaScript 父子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38671950/