<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...