gpt4 book ai didi

javascript - 如何在 JS (ES6) 中获取带点格式字符串的嵌套对象

转载 作者:行者123 更新时间:2023-11-29 10:32:49 25 4
gpt4 key购买 nike

如何有效地分配一个可变深度的嵌套对象,只有一个值和一个类型的字符串:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com