我有一堆对象属性以点分隔的字符串形式出现,例如“availability_Meta.supplier.price”,我需要为记录[‘availability_Meta’] [‘供应商’] [‘价格’]分配相应的值,所以上.
并非所有东西都是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这与引用的副本不同.也就是说,我需要能够为同一个对象多次执行此分配,并且“重复”答案将每次只覆盖子键.请重新开启!
解决方法
原文地址:https://www.jb51.cc/js/156567.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。