我正在尝试确定将JavaScript中的字符串拆分为具有任意维度的多维数组的最快方法。有没有比循环遍历字符串和匹配相同深度的括号更好的方法?
示例字符串:
[1,2,3,[1,2,3,[1,2,3]],4,5,[1,2],[[1,2],[1,2]],[1],[1]]
答案 0 :(得分:2)
如果您不需要计算旧版浏览器,可以使用JSON.parse:
var a = '[1,2,3,[1,2,3,[1,2,3]],4,5,[1,2],[[1,2],[1,2]],[1],[1]]';
var b = JSON.parse(a);
对于较旧的浏览器,我可以想到一种快速而肮脏的方式,有些人将其用作解析JSON的最后手段。
var a = '[1,2,3,[1,2,3,[1,2,3]],4,5,[1,2],[[1,2],[1,2]],[1],[1]]';
var b = (new Function('return ' + a + ';'))();