Javascript 在嵌套对象中循环

Javascript 在嵌套对象中循环,javascript,object,Javascript,Object,目前我有一个对象,我通过它循环得到如下输出: var obj={ “第一”:{ “鲍勃”:{ “1”:“foo”, “2”:“酒吧” }, “吉姆”:{ “1”:“baz” } }, “第二”:{ “鲍勃”:{ “1”:“qux” }, “吉姆”:{ “1”:“quux” }, }, } 用于(obj中的let位置){ log(`In${position}position`); 设pos=obj[位置]; for(在pos中输入名称){ person=pos[姓名]; 对于(让项目亲自进行){

目前我有一个对象,我通过它循环得到如下输出:

var obj={
“第一”:{
“鲍勃”:{
“1”:“foo”,
“2”:“酒吧”
},
“吉姆”:{
“1”:“baz”
}
},
“第二”:{
“鲍勃”:{
“1”:“qux”
},
“吉姆”:{
“1”:“quux”
},
},
}
用于(obj中的let位置){
log(`In${position}position`);
设pos=obj[位置];
for(在pos中输入名称){
person=pos[姓名];
对于(让项目亲自进行){
让事物=人[物];
log(`${position}${name}${item}${thing}`)
}
}

}
您可以通过检查实际项目来使用迭代和递归方法,如果它是一个对象,则通过保留该对象的路径来迭代该对象

稍后使用路径和值

函数iter(对象,路径=[]){
Object.keys(Object.forEach)(k=>{
var temp=路径concat(k);
if(对象[k]&&typeof对象[k]='object'){
iter(对象[k],温度);
返回;
}
log(path.join('>'),对象[k]);
});
}
var数据={first:{Bob:{“1”:“foo”,“2”:“bar”},Jim:{“1”:“baz”},second:{Bob:{“1”:“qux”},Jim:{“1”:“qux”};
iter(数据)
。作为控制台包装{最大高度:100%!重要;顶部:0;}