如何将字符串转换为二维数组?

时间:2013-03-25 05:36:38

标签: javascript arrays multidimensional-array

为了将字符串转换为1维JavaScript数组,我可以使用'eval()'。但是如何将字符串转换为二维数组?

我的字符串是:

['stage 1', 1, 11, 111],['Stage 2', 2, 22, 222]

带有这样的参数的执行“eval(...)”创建一个包含4个元素的1数组:['stage',1,11,111]。相反,我希望有2个元素的数组,其中每个元素又是另一个包含4个元素的数组。

我相信,我可以用','将原始字符串拆分为子串列表,并为每个字符串调用'eval',并将结果合并为一个二维数组。

我相信应该已经存在更有效的方法。有没有?如果是,请通知。

非常感谢你!

1 个答案:

答案 0 :(得分:3)

最好不要使用eval,而是使用JSON.parse

var string = '["stage 1", 1, 11, 111],["Stage 2", 2, 22, 222]';
var array2d = JSON.parse("[" + string + "]");
console.log(array2d);

请参阅此处的演示:http://jsfiddle.net/y94zz/