【发布时间】:2019-04-25 03:48:32
【问题描述】:
我想过滤子对象的属性并返回具有通过过滤器的子对象的父母。
我尝试使用 Array.filter、Array.some 和 Object.values 的组合,但是一旦我使用了 Object.values,我想不出一种方法来取回密钥
var data = {
parent1: {
child1: {
source: true
},
child2: {
source: true
}
},
parent2: {
child3: {
source: true
},
child4: {
source: false
}
},
parent3: {
child5: {
source: false
}
}
}
我希望结果是:
var afterFilter = {
parent1: {
child1: {
source: true
},
child2: {
source: true
}
},
parent2: {
child3: {
source: true
}
}
}
【问题讨论】:
-
你的输入对象和输出对象是一样的。我说的对吗?
-
为什么它们是一样的?输出排除了来源为假的孩子,也排除了没有任何合格孩子的父母。所以他们是不同的。但是结构明智,是的,它们是相同的,我想保持结构。