[英]Populate nested object from array?
我有一个问题,如何从数组创建嵌套对象? 即我有以下数组:
var myArr = ['foo', 'bar', 'baz']
并且需要使它成为一个对象,例如:
myObj = {foo: { bar: { baz: { } } }}
我怎样才能正确地做到这一点?
使用reduce()
var myArr = ['foo', 'bar', 'baz']; var myObj = {}; myArr.reduce(function(a, b) { a[b] = {}; return a[b]; }, myObj); console.log(myObj);
你可以做得更好 ! :
let arr = ['foo', 'bar', 'baz']; let obj = arr.reduceRight((a,c)=>({[c]:a}),{}) document.write( JSON.stringify(obj) )
使用.reduceRight()方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.