使用递归函数来遍历嵌套对象,如果对象的值是一个对象,则递归调用函数直到最后一个嵌套对象的值不再是对象。当找到一个键值对时,将键添加到数组中。最后将数组返回。
代码示例:
function getNestedKeys(obj) {
let keys = [];
for (let key in obj) {
if (typeof obj[key] === 'object') {
keys = keys.concat(getNestedKeys(obj[key]).map(subkey => key + '.' + subkey));
} else {
keys.push(key);
}
}
return keys;
}
// 示例
const obj = {
a: {
b: {
c: 1,
d: 2
},
e: {
f: 3
}
},
g: 4
};
const nestedKeys = getNestedKeys(obj);
console.log(nestedKeys); // ["a.b.c", "a.b.d", "a.e.f", "g"]
上一篇:遍历嵌套对象
下一篇:遍历嵌套对象并修改特定属性