将字符串转换为多维数组

Fre*_*red 6 javascript multidimensional-array

我有一个字符串

 var myString = "['Item', 'Count'],['iPad',2],['Android',1]";
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为数组,其中:

myArray[0][0] = 'Item';
myArray[0][1] = 'Count';
myArray[1][0] = 'iPad';
myArray[1][1] = 2;
Run Code Online (Sandbox Code Playgroud)

等等...

字符串的长度可以不同,但​​始终采用上面的格式.我尝试过分裂和拼接以及任何其他"我能想到的",但我无法理解.

有人可以帮忙吗?

I H*_*azy 16

如果字符串肯定是安全的,最简单的是连接[]开头和结尾,然后eval它.

var arr = eval("[" + myString + "]");
Run Code Online (Sandbox Code Playgroud)

如果您想要更高的安全性,请为字符串使用双引号,并JSON.parse()以相同的方式使用.

var myString = '["Item", "Count"],["iPad",2],["Android",1]';

var arr = JSON.parse("[" + myString + "]");
Run Code Online (Sandbox Code Playgroud)

这将限制您支持的JSON数据类型,但是给定您的示例字符串,它将正常工作.