复合赋值上的自动嵌套对象创建

时间:2014-06-11 10:04:30

标签: javascript

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

有没有人知道提供这种设施的图书馆?我对本土解决方案不感兴趣 - 我知道它可以完成并且知道如何实现它的简化版本。

我希望能够执行以下分配,自动创建引用的嵌套对象:

a.b.c = 'Hello World';

基本上相当于:

a = {};
a.b = {};
a.b.c = 'Hello World';

a = {b: {c: 'Hello World'}}

库函数可能如下所示:

a = createAndSet('b.c', 'Hello World');

更复杂的例子

a = createAndSet('b[2].c['thing'][1]', 'Hello World');

这相当于:

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

创建后,您将能够读取字符串值' Hello World'像这样:

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

由于

0 个答案:

没有答案