直转字符串为数组
直接转引号引出的数组为真正数组。如果需要也可以作简单修改以适应对象情况。
var a =‘[34444a44,[a1,[4,5],[2,3]],1]‘ function turn(a){ turn.c = turn.c || 1; var res; var str; while( turn.c < a.length){ res = res || []; if(a[turn.c] === ‘[‘){ turn.c++; res.push(turn(a)) }else if(a[turn.c] === ‘]‘){ return res; }else if(/\w/.test(a[turn.c])){ str = str ? str.concat(a[turn.c] ):a[turn.c] if(/\]|\,/.test(a[turn.c+1])){ if(str - parseFloat( str ) >= 0) str -=0;; res.push(str); str = undefined; } } turn.c++; } return res; } console.log(turn(a)) // Array [ "34444a44", Array[3], 1 ]
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。