我有一堆以点分隔的字符串作为对象属性,例如"availability_meta.supplier.price",我需要将相应的值赋给record['availability_meta']['supplier']['price']等等。
并不是所有的属性都有3层深度:很多只有1层深度,而且很多比3层更深。
在JavaScript中,有没有一种好的方法可以以编程方式进行赋值?例如,我需要:
我想我可以拼凑出一些东西,但是我脑海中没有好的算法,所以希望能得到建议。如果有帮助的话,我正在使用Lodash,并且也愿意尝试其他可能能快速完成此任务的库。
并不是所有的属性都有3层深度:很多只有1层深度,而且很多比3层更深。
在JavaScript中,有没有一种好的方法可以以编程方式进行赋值?例如,我需要:
["foo.bar.baz", 1] // --> record.foo.bar.baz = 1
["qux.qaz", "abc"] // --> record.qux.qaz = "abc"
["foshizzle", 200] // --> record.foshizzle = 200
我想我可以拼凑出一些东西,但是我脑海中没有好的算法,所以希望能得到建议。如果有帮助的话,我正在使用Lodash,并且也愿意尝试其他可能能快速完成此任务的库。
编辑
这是在后端运行的,而且不频繁,所以不需要为大小、速度等进行优化。实际上,代码可读性对于未来的开发人员来说会是一个加分项。
编辑2
进一步澄清,我需要能够多次为同一个对象执行此任务。
.
进行分割。for
循环。