gpt4 book ai didi

javascript - 遍历对象的所有子对象和子对象

转载 作者:行者123 更新时间:2023-12-02 02:22:00 25 4
gpt4 key购买 nike

我有一个包含子对象的对象,甚至还有曾孙对象。

我正在使用

for (const [key, value] of Object.entries(myObj)) {
console.log(`${key}: ${value}`);
}

例如产生:

  • 创建时间:2021-01-01T00:00:00.000Z
  • id: 字符串
  • 数据:[对象对象]
  • 项目:[对象对象],[对象对象]

如何遍历任意数量的子对象以返回类似于

的内容
  • 创建时间:2021-01-01T00:00:00.000Z
  • id: 字符串
  • 数据:[对象对象]
  • 数据:1 个{内容}中的 1 个
  • 项目:2 个中的 1 个{contents}
  • 项目:2 个,共 2 个{contents}

不需要“1 of 2”,但可以证明我的输出目标。

最佳答案

在这种情况下 recursion很有用。例如:

function visitDescendants(obj, callback) {
for (const [key, value] of Object.entries(obj)) {
if (value && typeof value === "object") {
// Recurse
visitDescendants(value, callback);
} else {
callback(key, value);
}
}
}

实例:

function visitDescendants(obj, callback) {
for (const [key, value] of Object.entries(obj)) {
if (value && typeof value === "object") {
// Recurse
visitDescendants(value, callback);
} else {
callback(key, value);
}
}
}

const obj = {
a: 1,
message: "hi",
b: {
nestedMessage: "there",
c: {
furtherNestedMessage: "folks!"
},
},
};

visitDescendants(obj, (key, value) => {
console.log(`${key}: ${value}`);
});

关于javascript - 遍历对象的所有子对象和子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66281903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com