1

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

我的字符串是:

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

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

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

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

非常感谢您!

4

1 回答 1

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/

于 2013-03-25T05:44:58.420 回答