Javascript 基于复合赋值的嵌套对象自动创建
我觉得这应该是一个共同的要求,当然,目前会有一个工具作为一些使用良好的javascript库(如underline.js)的一部分存在,但我的搜索一直是徒劳的 有人知道有哪个图书馆提供这种设施吗?我对自主开发的解决方案不感兴趣——我知道它是可以实现的,并且知道如何实现它的简化版本 我希望能够像以下赋值那样自动创建引用的嵌套对象:Javascript 基于复合赋值的嵌套对象自动创建,javascript,Javascript,我觉得这应该是一个共同的要求,当然,目前会有一个工具作为一些使用良好的javascript库(如underline.js)的一部分存在,但我的搜索一直是徒劳的 有人知道有哪个图书馆提供这种设施吗?我对自主开发的解决方案不感兴趣——我知道它是可以实现的,并且知道如何实现它的简化版本 我希望能够像以下赋值那样自动创建引用的嵌套对象: a.b.c = 'Hello World'; 基本上相当于: a = {}; a.b = {}; a.b.c = 'Hello World'; a = { b:
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]
谢谢不,这样一个函数的使用还不够普遍,不能包含在流行的库中。对于流行的高价值,至少:-这个问题似乎离题了,因为它属于这里,而不是这里。我不相信有库可用于此选项。您可能需要编写自定义递归函数来实现这一点。