let data = {
'a': {
'aa': {
'aaa': {},
'aaa1': {}
}
},
'b': {
'bb': {},
'bb1': {}
},
'c': {
'cc': {
'ccc': {}
}
}
}
let keys = []
const forin = (data, key) => {
if (key) {
keys.push(key)
console.log(keys);
}
let arr = []
for (const key in data) {
arr.push(key)
if (typeof data[key] == 'object') {
forin(data[key], key);
} else {
console.log(data[key]);
}
}
if (keys.length > 0) {
keys.length = keys.length - 1
}
if (arr.length == 0) {
}
}
forin(data, '')
最后输出
[ 'a' ]
[ 'a', 'aa' ]
[ 'a', 'aa', 'aaa' ]
[ 'a', 'aa', 'aaa1' ]
[ 'b' ]
[ 'b', 'bb' ]
[ 'b', 'bb1' ]
[ 'c' ]
[ 'c', 'cc' ]
[ 'c', 'cc', 'ccc' ]