我想转换这个字符串:
'[
['Row1 of first array', 'Row2 of first array'],
['Row1 of 2nd array', 'Row2 of 2nd array']
]'
变成一个包含三个一维数组和两项的数组。
我的预期输出是一个包含 2 个元素的数组:
- 阵列 1
- 阵列 2
每个数组里面都有两个元素。
Jquery中有没有做这种转换的?
我想转换这个字符串:
'[
['Row1 of first array', 'Row2 of first array'],
['Row1 of 2nd array', 'Row2 of 2nd array']
]'
变成一个包含三个一维数组和两项的数组。
我的预期输出是一个包含 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
这远比 using 安全得多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);
</p>