我想找到key:value如果存在嵌套的地方。我的JSON看起来像这样
{
"key1": {
"key11": "foo11",
"key12": "foo12",
"key13": [
"aaa",
"bbb"
]
},
"key2": {
"city": "New York",
"state": "NY",
"phone": [
"20111",
"20333"
]
}
}
我需要找到第一个出现的地方,例如“电话”键并获取数据。如何使用例如而不是for / forEach。按键“ phone”可能存在或不存在,并且不在第一级主要对象中。所以我需要第一次出现
答案 0 :(得分:0)
您可以使用递归来实现。
let obj = { "key1": { "key11": "foo11", "key12": "foo12", "key13": [ "aaa", "bbb" ] }, "key2": { "city": "New York", "state": "NY", "phone": [ "20111", "20333" ] } }
function nestedKey(obj,key){
if(obj[key]) return obj[key]
for(let k in obj){
if(typeof obj[k] === "object"){
let temp = nestedKey(obj[k],key);
if(temp) return temp;
}
}
}
console.log(nestedKey(obj,"phone"))
console.log(nestedKey(obj,"phonee"))