字符串到二维数组

时间:2012-11-19 13:58:26

标签: javascript jquery

我想转换此字符串:

'[
  ['Row1 of first array', 'Row2 of first array'],
  ['Row1 of 2nd array', 'Row2 of 2nd array']  
]'

进入一个包含一个维度和两个项目的三个数组的数组。

我的预期输出是一个包含2个元素的数组:

  • 数组1
  • 数组2

每个数组里面都有两个元素。

在Jquery中有没有进行这种转换?

2 个答案:

答案 0 :(得分:3)

这不是一个有效的字符串 - 您在单引号内嵌套单引号。但是,如果您使用内部的双引号将字符串转换为一个字符串:

str = '[  ["Row1 of first array", "Row2 of first array"],  ["Row1 of 2nd array", "Row2 of 2nd array"]  ]'

然后您可以简单地将其解析为JSON对象:

arr = $.parseJSON(str); // returns a two-dimensional array

这比使用eval要安全得多,只有当你完全知道字符串里面的内容时才会这样做,即使这样,它也是懒惰开发者的标志。使用parseJSON时,您知道在完成任务时获得对象或数组 - 使用eval时,可能会发生任何事情。

答案 1 :(得分:-3)

我猜eval会起作用:

var str = eval("[['Row1 of first array', 'Row2 of first array'],['Row1 of 2nd array', 'Row2 of 2nd array']]");

console.log(str);