1

我想转换这个字符串:

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

变成一个包含三个一维数组和两项的数组。

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

  • 阵列 1
  • 阵列 2

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

Jquery中有没有做这种转换的?

4

2 回答 2

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

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

于 2012-11-19T14:06:33.103 回答
-3

我猜 eval 会起作用:

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

console.log(str);

​</p>

于 2012-11-19T14:07:07.597 回答