gpt4 book ai didi

javascript - 如何通过属性搜索嵌套对象中的对象并返回带有父对象的键和值的对象?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:32 27 4
gpt4 key购买 nike

我有一个嵌套对象

let data = {
address: "123 Street, state, country",
childObject1: {
foo: ["bar"],
person: "Hailey"
},
relatedCustomers: {
childObject: {
foo: ["bar"],
person: "Hailey2"
}
}
};

我想按属性搜索具有键和值的对象。

例如

搜索 - 我的功能

数据 - 嵌套对象

search("person", data)

我得到了对象

{
childObject: "Hailey2",
childObject1: "Hailey"
}

我编写了搜索所有值的代码:

https://codesandbox.io/s/suspicious-pascal-qyvjw

但我无法获取父对象键并因此获取对象:

{
childObject: "Hailey2",
childObject1: "Hailey"
}

最佳答案

请使用以下代码查找父键:

let search = (needle, parentKey, haystack, found = []) => {
Object.keys(haystack).forEach(key => {
if (key === needle) {
found.push({
[key]: haystack[key],
parentKey
});
return found;
}
if (typeof haystack[key] === "object") {
search(needle, key, haystack[key], found);
}
});
return found;
};

console.log(search("person", "data", data));
`;

我刚刚在函数中传递了父键,并在需要时保存了它。我希望这就是您要找的。谢谢。

关于javascript - 如何通过属性搜索嵌套对象中的对象并返回带有父对象的键和值的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58286238/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com