我正在使用下面的函数遍历具有数组的对象并更改对象的键名。我想知道如何找出遍历何时完成 - 所以当所有 forEach 循环都完成时。我不知道提前有多少子对象。
function traverse(o) {
if (o !== null && typeof o == 'object') {
Object.entries(o).forEach(([key, value]) => {
if (key === 'Name') {
o['name'] = o['Name'];
delete o['Name'];
}
if (key === 'Children') {
o['children'] = o['Children'];
delete o['Children'];
if (!o['children']) o['children'] = [];
}
traverse(value);
});
}
}