Javascript 使用jquery删除数组列表前的引号
我一直在努力解决一个问题,我正在使用Javascript 使用jquery删除数组列表前的引号,javascript,jquery,arrays,regex,Javascript,Jquery,Arrays,Regex,我一直在努力解决一个问题,我正在使用 var srlisthidden = $('#hiddenroutList').val(); srlisthidden返回一个列表数组,但在引号中“['0015','0016']” 但由于数组开头有双引号,因此不允许列表进行迭代,甚至我尝试了许多不同的选项来删除双引号,比如regEx和 jQuery.parseJSON('['+srlisthidden+']),但它们都不起作用,请给我解决方案。尝试一下: var x = "['0015','0016']
var srlisthidden = $('#hiddenroutList').val();
srlisthidden
返回一个列表数组,但在引号中“['0015','0016']”
但由于数组开头有双引号,因此不允许列表进行迭代,甚至我尝试了许多不同的选项来删除双引号,比如regEx和
jQuery.parseJSON('['+srlisthidden+'])
,但它们都不起作用,请给我解决方案。尝试一下:
var x = "['0015','0016']"; // The value that you are grabbing
var sol = eval(x); // This returns the value as an array of strings.
这就是你想要实现的吗?你也可以这样实现
var to_parse = "['0015','0016']";
var array = parse.replace(/\[|]|'/g, '').split(',');
JSON要求字符串周围的内引号必须是双引号,并用反斜杠转义;解析器不能很好地处理单引号 使用正则表达式清理字符串:
var str = srlisthidden.replace(/\'/g, "\"")
输出:[“0015”、“0016”]
(作为字符串)
然后解析为JSON:
JSON.parse(str)
输出:
[“0015”、“0016”]
(作为一个数组)您的输入字段首先是如何获得该值的?这就是要解决的问题。什么类型的元素是hiddenroutList
,您希望它具有什么值,这是一个隐藏的价值
JSON.parse(str)