如何将String转换为数组,并在Javascript中删除引号?

时间:2015-09-25 13:30:53

标签: javascript arrays meteor google-visualization

我想将以下String转换为数组:

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平台中读取的行

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

尝试以下

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

小提琴:http://jsfiddle.net/zo3yvqbL/1/