将字符串转换为对象路径

时间:2017-09-20 09:44:37

标签: javascript object ecmascript-6

我想实现这样的目标:

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

1 个答案:

答案 0 :(得分:-2)

  

此示例提供了上述问题的基本解决方案。它将其分解为核心。然而,解决方案可能是可怕的,应该被视为概念证明,并且有很多方法可以打破这一点。有更好的方法来维护您的代码。请参阅以这种方式覆盖的重复条目:Convert JavaScript string in dot notation into an object reference

基于数组

{{1}}