gpt4 book ai didi

Javascript/JSON 获取给定子节点的路径?

转载 作者:可可西里 更新时间:2023-11-01 02:35:57 24 4
gpt4 key购买 nike

如何获取对象的给定子节点的 JSON 路径?

例如:

var data = {
key1: {
children: {
key2:'value',
key3:'value',
key4: { ... }
},
key5: 'value'
}

给出了一个引用 key4 的变量。现在我正在寻找绝对路径:

data.key1.children.key4

有什么办法可以用 JS 完成吗?

提前谢谢你。

最佳答案

所以你有一个值为“key3”的变量,你想知道如何根据这个字符串的值动态访问这个属性?

var str = "key3";
data["key1"]["children"][str];

编辑

哇,我不敢相信我第一次尝试就得到了这个。它可能有一些错误,但它适用于您的测试用例

LIVE DEMO

var x = data.key1.children.key4;

var path = "data";
function search(path, obj, target) {
for (var k in obj) {
if (obj.hasOwnProperty(k))
if (obj[k] === target)
return path + "['" + k + "']"
else if (typeof obj[k] === "object") {
var result = search(path + "['" + k + "']", obj[k], target);
if (result)
return result;
}
}
return false;
}

var path = search(path, data, x);
console.log(path); //data['key1']['children']['key4']

关于Javascript/JSON 获取给定子节点的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790607/

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