我想将以下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平台中读取的行
答案 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);