如何将String转为数组,并去掉Javascript中的引号?

How to convert String to array, and remove quotation marks in Javascript?

我想将以下字符串转换为数组:

str = " ['GHR',  15, 14    ], ['GHR',  12, 20  ] ";
array = new Array (str);

当我这样做时: console.log(数组);

它给了我: [" ['GHR', 15, 14 ], ['GHR', 12, 20 ] "],

但我想要不带引号的结果,例如:

[['GHR', 15, 14 ], ['GHR', 12, 20 ]]

请问如何只去掉数组开头和结尾的第一个和最后一个引号? 我正在使用此方法从 mongodatabse 获取数据,然后将结果转换为 google 图表可以在 Metero 平台

中读取的行

您可以使用 JSON.parse 这将要求您换掉单引号

var str = " ['GHR',  15, 14    ], ['GHR',  12, 20  ] ";
var arr = JSON.parse("[" + str.replace(/'/g,'"') + "]");

或者您可以使用新函数

var str = " ['GHR',  15, 14    ], ['GHR',  12, 20  ] ";
var arr = (new Function( "return [" + str + "]")());

或者获取输出它的任何内容以创建一个数组开始或使其有效JSON以便它可以被正确解析。

试试下面

var str = " ['GHR',  15, 14    ], ['GHR',  12, 20  ] ";
str = str.replace(/\s+/g, ' ');
var arr = str.split('],').join(']|').split('|');
console.log(arr);

Fiddle: http://jsfiddle.net/zo3yvqbL/1/