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

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


当我做 :
    console.log(array);

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

但我希望结果不带引号,例如:

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

请问,如何只删除数组开头和结尾的第一个和最后一个引号?
我正在这种方法从mongodatabse中获取数据,然后在Metero平台中将结果转换为Google图表可以读取的行

最佳答案

您可以使用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,以便可以对其进行正确解析。

09-18 00:01