2016-08-23 33 views
-3

我有这样的字符串:转换特殊字符串数组的Javascript

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']; 

请我怎么能实现以上 ?

+2

[JSON.parse()来](https://developer.mozilla.org/ en/docs/Web/JavaScript/Reference/Global_Objects/JSON /解析) –

+0

@Jean Alex回答了! – ajaykumar

回答

3

您可以使用JSON.parse()这个

编写代码如下:

var S1 = "[ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" ]"; 
var arr = JSON.parse(S1); 

this post

+0

非常感谢 –

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); 
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);