我想实现这样的目标:
let database = {
foo: {
bar: {}
}
}
deepValue(database, "foo/bar/hello") = "world"
console.log(database)
// database: {
// foo: {
// bar: {
// hello: "world"
// }
// }
// }
因此,deepValue返回具有给定路径的对象中的位置,因此我可以写入它。 ES6,ES7中是否有可能帮我解决这个问题?或者有一种从字符串生成对象路径的好方法吗?
已经回答了:
Ack,在我发布之前就已经关闭了。这里:jsfiddle.net/6bb1Lq6k - Jamiec
答案 0 :(得分:-2)
此示例提供了上述问题的基本解决方案。它将其分解为核心。然而,解决方案可能是可怕的,应该被视为概念证明,并且有很多方法可以打破这一点。有更好的方法来维护您的代码。请参阅以这种方式覆盖的重复条目:Convert JavaScript string in dot notation into an object reference
基于数组
{{1}}