var str ="key3,key2,key3,key1";
var obj ={};
var strList = str.split(",");
for(var i = strList.length;i >= 0;--i){
var obj2={};
obj2[strList[i]]=obj;
obj = obj2;
}
console.log(obj);
var str='key1.key2.key3';
var obj={};
var array=str.split('.');
var that=obj;
for(var i=0;i<array.length;i++){
that[array[i]]={};
that=that[array[i]];
}
console.log(JSON.stringify(obj));
你的写法是显然不对的,参考我的改动(一共改动四行),算是一种方案。
图片的逻辑可以这样实现
Literally one liner's showing off: