48 lines
856 B
48 lines
856 B
function concatKeys(obj, key, res) {
|
|
let keys, val
|
|
|
|
for (let k in obj) {
|
|
if (typeof obj[k] === 'object') {
|
|
keys = key ? key + '.' + k : k
|
|
concatKeys(obj[k], keys, res)
|
|
} else {
|
|
keys = key ? key + '.' + k : k
|
|
val = obj[k]
|
|
|
|
Object.assign(res, { [keys]: val })
|
|
// console.log(keys, val)
|
|
}
|
|
}
|
|
}
|
|
|
|
const a = {
|
|
'l-01': {
|
|
level: 1,
|
|
name: 'l-01',
|
|
flag: '1111111',
|
|
'l-02.01': {
|
|
level: 2,
|
|
name: 'l-02.01',
|
|
flag: '2222222',
|
|
'l-03.01': {
|
|
level: 3,
|
|
name: 'l-03.01',
|
|
flag: '33333333',
|
|
'l-04.01': {
|
|
level: 4,
|
|
name: 'l-04.01',
|
|
flag: '4444444444'
|
|
}
|
|
}
|
|
},
|
|
'l-02.02': {
|
|
level: 1,
|
|
name: 'l-01.2',
|
|
flag: '1212121212'
|
|
}
|
|
}
|
|
}
|
|
let res = {}
|
|
concatKeys(a, '', res)
|
|
console.log(res)
|