突发奇想想练练递归(很能锻炼逻辑思维),虽然好像实际应用不会要求取对象所有的key
代码:
// 目标对象
const TARGET = {
a: {
b: {
c: 1
},
e: 4,
f: 5,
g: 6
},
wo:{
xixi:233
}
}
// 获得的key数组
var arr = []
// 通过递归获取对象所有key
function queryKey(obj){
for(let key in obj){
arr.push(key)
// 判断子节点是否为对象,是的话则递归,最后为键值对而不是对象则跳出
if(obj[key] instanceof Object){
queryKey(obj[key])
}
}
}
queryKey(TARGET)
console.log(arr);
打印结果: