给定一个 JS 字符串:var s = "deep.deeper.deepest"
,我怎样才能将其转换为这样的对象:deep: {deeper: {deepest: {}}}
最佳答案
const dottedToObj = (str, orig = {}) => (str.split(".").reduce((obj, key) => obj[key] = {}, orig), orig);
只需将字符串数组(将原始字符串拆分)减少为对象链即可。或者功能少一点:
function dottedToObj(str){
const root = {};
var acc = root;
for(const key of str.split(".")){
acc = acc[key] = {};
}
return root;
}
关于javascript - 转换对象中的 JavaScript 点分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48100815/