我有这样的字符串:
var S1 = "[ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" ]";
var S2 = "[ \"2\" ]";
var S3 = "[ \"1\", \"2\", \"3\" ]";
我想在JavaScript下将它们转换为这样的数组:
var S1a = ['1','2','3','4','5','6','7'];
var S2a = ['2'];
var S3a = ['1','2','3'];
请问我怎样才能实现上述目标?
答案 0 :(得分:3)
您可以将JSON.parse()用于此
编写代码如下:
var S1 = "[ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" ]";
var arr = JSON.parse(S1);
答案 1 :(得分:1)
只是为了好玩,你也可以这样做。如果您希望结果数组包含整数而不是字符串字符,那么只需r.concat(+e)
而不是r.concat(e)
var s = "[ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" ]",
a = s.split(/\[*\s*\"(\d+)\",*\s*\]*/).reduce((r,e,i) => i%2 ? r.concat(e) : r,[]);
console.log(a);

答案 2 :(得分:0)
你可以像JSON一样解析:
JSON.parse("[ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" ]");
输出将是:["1", "2", "3", "4", "5", "6", "7"]
示例小提琴:https://jsfiddle.net/us9L1ed0/
JSON.parse参考: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse http://www.w3schools.com/json/json_eval.asp
根据您的示例编写代码段
var S1 = "[ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" ]";
var S2 = "[ \"2\" ]";
var S3 = "[ \"1\", \"2\", \"3\" ]";
var S1a =JSON.parse(S1)
var S2a=JSON.parse(S2)
var S3a = JSON.parse(S3)
console.log(S1a);
console.log(S2a);
console.log(S3a);