我需要从数组中创建一个对象。
例如,
我有一个像var arr = ['a', 'b', 'c'];
应该转换为,
{
a:{
b:{
c:{
}
}
}
}
我尝试了以下代码,但无法创建深层树
var arr = ['a', 'b', 'c'];
var obj = {},
temp = 'asd';
for(var i=0; i<arr.length; i++){
if($.isEmptyObject(obj)){
obj[arr[i]] = {};
} else {
console.log(Object.keys(obj));
obj[Object.keys(obj)][arr[i]] = {};
}
}
console.log(obj, temp);
有人可以帮助我吗?
提前致谢。
答案 0 :(得分:7)
您可以尝试类似
的内容
var arr = ['a', 'b', 'c'];
var obj = temp = {};
for (var i = 0; i < arr.length; i++) {
temp = temp[arr[i]] = {}
}
$('#result').html(JSON.stringify(obj))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="result"></div>