我在javascript中有一个数组..类似于:
var myarray = ['a','b',c'];
和var item = 'Name';
我希望将其转换为类似
{
a:{
b:{
c:{
item:'Name'
}
}
}
}
答案 0 :(得分:3)
var result = myarray.reverse().reduce(function (value, key) {
var result = {};
result[key] = value;
return result;
}, { item : item });
换句话说,您使用数组中的键将结果逐层打包到新对象中。
答案 1 :(得分:1)
var obj = {};
var curobj = obj;
for (var i = 0; i < myarray.length; i++) {
var newObj = {};
newObj[myarray[i]] = newObj;
curObj = newObj;
}
curObj.item = item;
您想要的结果将位于obj
对象中。