因此,您有一个值为“ key3”的变量,并且您想知道如何基于此字符串的值动态访问此属性?
var str = "key3";data["key1"]["children"][str];
编辑
哇,我不敢相信我是第一次尝试。其中可能存在一些错误,但是它适用于您的测试用例
现场演示
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']
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)