<script> $(function(){ var str="a->b->c->d->e"; /*法一*/ var arr = str.split('->'); var src= ""; for(var i=arr.length-1;i>=0;i--){ var obj = {}; obj[arr[i]]=src; src=obj; } console.log(JSON.stringify(src)); /*法二*/ var arr = str.split('->'); var src='{'; var num=0; var i = 0; var len = arr.length; for(i=0;i<arr.length;i++){ src += '"'+arr[i]+'":'; if(++num <= len-1){ src += '{'; } } src += '""'; for(i=0;i<=len-1;i++) src += '}'; console.log(src); console.log(eval('('+src+')')); /*法三*/ var str="a->b->c->d->e"; var reg=/(\w+)(->)?/gi; var arr; var src={},tmp=src; while(arr=reg.exec(str)){ tmp[arr[1]]={}; tmp=tmp[arr[1]]; } console.log(JSON.stringify(src)); /*法四*/ var arr = str.split('->'); var src= ""; arr.reverse().map(function(i) { var obj = {}; obj[i]=src; src=obj; }); console.log(JSON.stringify(src)); /*法五*/ var list = ['a','b','c','d','e']; var i= 0,code = 'var _c = {};'; var init = '_c[]={};'; for (;i<list.length;i++){ init = init.replace('[]','["'+list[i]+'"][]'); code += init.replace('[]',''); } console.log(eval('(function(){'+code+'return _c;})()')); }); </script>
将"a->b->c->d->e"转换成{"a":{"b":{"c":{"d":{"e":""}}}}} 输出
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 如何控制alert中的换行?\n alert(“p\np”); 请编写一个JavaScript函数 parseQu...