JavaScript
// 初始值
{
'a.b.c': 1,
'a.d': 2,
'e' : 3
}
// 最终值
{
a: {
b: {
c: 1
},
d: 2,
},
e: 3
}
JavaScript
// 初始值
{
'a.b.c': 1,
'a.d': 2,
'e' : 3
}
// 最终值
{
a: {
b: {
c: 1
},
d: 2,
},
e: 3
}
function makeObj (input = {}) {
const output = {};
for (const [path, value] of Object.entries(input)) {
let target = output;
let key = "";
for (const char of path) {
switch (char) {
case ".":
target = target[key] ?? (target[key] = {});
key = "";
break;
default:
key += char;
}
}
target[key] = value;
}
return output;
}
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
3 回答10.3k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.8k 阅读