` var targetObj = { a: { b: { c: { d: { e: { name: "aaaaa" } } } }, d: '90', e: '90' }, a2: { name: 'bbbbb' }, a3: { k: { l: { name: 'ccccc' } } }, a4: { k: { l: { name: "北京", author: 'jin', version: '1.0.1' } } } } // console.log(targetObj.a4.k.l); // {name: "北京", author: "jin", version: "1.0.1"} // author: "jin" // name: "北京" // version: "1.0.1"
// console.log(targetObj.a4.k.l.name);
// 北京
// flat() 方法,这个方法可以抹平一个数组。不管嵌套了多少的数组,都会展开成为一个无嵌套数组
function search(object, value) {
for (var key in object) {
if (object[key] == value) return [key];
if (typeof (object[key]) == "object") {
var temp = search(object[key], value);
if (temp) return [key, temp].flat();
}
}
}
var url = search(targetObj, "北京").join("/");
console.log(url);
// a4/k/l/name`