如何有效地分配一个可变深度的嵌套对象,只有一个值和一个类型的字符串:
const names = 'obj.source.name'
const value = 'myValue'
得到:
{ obj: { source: { name: 'myValue' } } }
最佳答案
您还可以使用 reduce()
方法。
const names = 'obj.source.name'
const value = 'myValue'
function nestObj(keys, val) {
var o = {}, k = keys.split('.')
return k.reduce((r, e, i) => r[e] || (r[e] = (k.length-1 != i) ? {} : val), o), o
}
console.log(JSON.stringify(nestObj(names, value), 0, 4))
关于javascript - 如何在 JS (ES6) 中获取带点格式字符串的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42138877/