Javascript 基于复合赋值的嵌套对象自动创建

Javascript 基于复合赋值的嵌套对象自动创建,javascript,Javascript,我觉得这应该是一个共同的要求,当然,目前会有一个工具作为一些使用良好的javascript库(如underline.js)的一部分存在,但我的搜索一直是徒劳的 有人知道有哪个图书馆提供这种设施吗?我对自主开发的解决方案不感兴趣——我知道它是可以实现的,并且知道如何实现它的简化版本 我希望能够像以下赋值那样自动创建引用的嵌套对象: a.b.c = 'Hello World'; 基本上相当于: a = {}; a.b = {}; a.b.c = 'Hello World'; a = { b:

我觉得这应该是一个共同的要求,当然,目前会有一个工具作为一些使用良好的javascript库(如underline.js)的一部分存在,但我的搜索一直是徒劳的

有人知道有哪个图书馆提供这种设施吗?我对自主开发的解决方案不感兴趣——我知道它是可以实现的,并且知道如何实现它的简化版本

我希望能够像以下赋值那样自动创建引用的嵌套对象:

a.b.c = 'Hello World';
基本上相当于:

a = {};
a.b = {};
a.b.c = 'Hello World';
a = {
  b: [
    undefined, 
    undefined,
    {
      c: {
        thing: [
          undefined,
          'Hello World'
        ]
      }
    }
  ]
}

库函数可能如下所示:

a = createAndSet('b.c', 'Hello World');
更复杂的例子

a = createAndSet('b[2].c['thing'][1]', 'Hello World');
这相当于:

a = {};
a.b = {};
a.b.c = 'Hello World';
a = {
  b: [
    undefined, 
    undefined,
    {
      c: {
        thing: [
          undefined,
          'Hello World'
        ]
      }
    }
  ]
}
创建后,您将能够读取字符串值“Hello World”,如下所示:

b[2].c['thing'][1]

谢谢

不,这样一个函数的使用还不够普遍,不能包含在流行的库中。对于流行的高价值,至少:-这个问题似乎离题了,因为它属于这里,而不是这里。我不相信有库可用于此选项。您可能需要编写自定义递归函数来实现这一点。