如何把str = {a.b.c:1,a.b.d:2,b.a.c:2,b.a.s:9}转换为{a:{c:1,d:2},b:{a:{c:2,s:9}}
如何把str = {a.b.c:1,a.b.d:2,b.a.c:2,b.a.s:9}转换为{a:{c:1,d:2},b:{a:{c:2,s:9}}
function setValue(o, k, v){
let keyArr = k.split('.');
let tempObj = o, i = 0
for (let len = keyArr.length; i < len - 1; ++i) {
let key = keyArr[i];
if (!tempObj[key]) {
tempObj[key] = {}
};
tempObj = tempObj[key]
}
tempObj[keyArr[i]] = v
return o
}
Object.entries(str).reduce((o, [k, v]) => setValue(o, k, v), {})
1 回答1.7k 阅读✓ 已解决
4 回答1.7k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答2.2k 阅读
2 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读
用lodash