Javascript 字符串到二维数组

Javascript 字符串到二维数组,javascript,jquery,Javascript,Jquery,我想转换此字符串: '[ ['Row1 of first array', 'Row2 of first array'], ['Row1 of 2nd array', 'Row2 of 2nd array'] ]' 转换为包含三个一维数组和两个项的数组 我的预期输出是一个包含2个元素的数组: 数组1 阵列2 每个数组中有两个元素 Jquery中是否有执行此转换的功能?这不是一个有效的字符串--您将单引号嵌套在单引号中。但是,如果在内部使用双引号将字符串转换为一个字符串: str

我想转换此字符串:

'[
  ['Row1 of first array', 'Row2 of first array'],
  ['Row1 of 2nd array', 'Row2 of 2nd array']  
]'
转换为包含三个一维数组和两个项的数组

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

  • 数组1
  • 阵列2
每个数组中有两个元素


Jquery中是否有执行此转换的功能?

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

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
要安全得多,只有当您确切知道字符串中的内容时,才应该使用
eval,即使这样,这也是一个懒惰开发人员的标志。当使用
parseJSON
时,您知道在您完成后您将获得一个对象或一个数组——当使用
eval
时,任何事情都可能发生。

我想eval将起作用:

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

console.log(str);

您可以发布预期的输出吗?这不是一个有效的字符串--您需要在单引号内使用双引号。如果您使用
eval()
,此字符串将被解释为ArrayTanks Blazemonger,此答案正是我需要的。@IvanSolntsev否!无
eval
!糟糕的开发者!在一般原则上否决这一点。永远不要鼓励年轻的程序员使用
eval