编辑问题。感谢@WiktorZychla唤醒我星期一大脑的递归。以下代码现在正在运行。
如果我在这里有一个像这样的虚拟对象:
const dummy = {
a: 1,
b: 2,
c: {
d: 3,
e: {
f: 4
}
},
g: 5
};
我可以通过以下方式进行迭代:
const xavier = (value, s) => {
for (const key in value) {
if (value.hasOwnProperty(key)) {
if (typeof value[key] === 'object' && value[key] !== null) {
xavier(value[key], s + '.' + key);
} else {
console.log(s + '.' + key + ' ' + value[key]);
}
}
}
};
现在打印以下内容:
.a 1
.b 2
.c.d 3
.c.e.f 4
.g 5
答案 0 :(得分:0)
在努力工作后,我创建一个循环任何对象的函数: 这肯定会迭代你想要多少级别 请看看它
arr = [];
obj = {
a: 1,
b: 2,
c: {
d: 3,
e: {
f: 4
}
}
}
function iter(x){
for(i in x){
if(typeof(x[i])=="object"){
iter(x[i]);
}else{
arr.push(x[i]);
}}}
iter(obj);
document.write(arr.join(','));
<!DOCTYPE html>
<html>
<body></body>
</html>