我有一个问题,如何从数组创建嵌套对象?即我有以下数组:
var myArr = ['foo', 'bar', 'baz']
并需要使它成为一个对象,如:
myObj = {foo: { bar: { baz: { } } }}
我怎样才能正确地做到这一点?
我有一个问题,如何从数组创建嵌套对象?即我有以下数组:
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()方法