题目
var obj = {
'a.b.c.d': 'value',
'e.c':'vvv',
'aaa': 'v',
'eeee': 'va'
}
var obj = {
a:{
b:{
c:{
d:'value'
}
}
},
e:{
c:'vvv'
},
aaa:'v',
eeee:'va'
}
具体代码实现如下
var obj = {
'a.b.c.d': 'value',
'e.c':'vvv',
'aaa': 'v',
'eeee': 'va'
}
var result = {}
function createObjTree(obj) {
for (let key in obj) {
let arr = key.split('.')
toTree(arr, key)
}
}
function toTree(arr, key) {
if (arr.length === 1) {
result[arr[0]] = obj[key]
} else {
let temp = {}
temp[arr[arr.length - 1]] = obj[key]
for (let i = arr.length - 2; i >= 0; i--) {
let nowObj = temp
temp = {}
temp[arr[i]] = nowObj
}
result[arr[0]] = temp
}
}