“转换字符串”;[1,2,3]”;在JavaScript中数组[1,2,3]

“转换字符串”;[1,2,3]”;在JavaScript中数组[1,2,3],javascript,arrays,string,Javascript,Arrays,String,我有一个字符串,它的结构是数组列表 “['Test',1'Test 2'],['Test 3',2'Test 4]” 如何将字符串转换为数组 ['Test',1',Test 2'],['Test 3,2',Test 4'] 我尝试了eval,它只解释第一个数组['Test',1',Test 2']您的字符串不是数组。但你可能需要这样的东西 var str = "['Test', 1, 'Test 2'],['Test 3', 2, 'Test 4']"; var arr;

我有一个字符串,它的结构是数组列表

“['Test',1'Test 2'],['Test 3',2'Test 4]”

如何将字符串转换为数组

['Test',1',Test 2'],['Test 3,2',Test 4']


我尝试了eval,它只解释第一个数组
['Test',1',Test 2']
您的字符串不是数组。但你可能需要这样的东西

var str = "['Test', 1, 'Test 2'],['Test 3', 2, 'Test 4']";
var arr; 
eval('arr = [' + str + ']')
请不要使用eval

同样的事情也可以这样做:

let str = "['Test', 1, 'Test 2'],['Test 3', 2, 'Test 4']";
let arr = JSON.parse(`[${str}]`.replaceAll("'", '"'));

修正输入,使其采用正确的JSON格式,然后解析
JSON.parse
it您希望它是一个包含所有6个值的数组,还是一个包含两个以上各有三个值的数组?一个数组。让arr=['test',1,2],'test 2',3,4]]因为它是两个带逗号的数组,所以预期的输出是什么?我有一个字符串“[test],[test],[test]”,我需要的是它是['test'],['test']。要使其哑口无言,我只需要引号“”删除字符串的任一端请勿使用evalThanks这是有效的,使用eval有什么问题?eval允许攻击者向字符串添加恶意代码。想象一下
str=“]”;警报('gotcha');[“