我有一个看起来像数组的字符串:"[918,919]"
。我想将它转换为数组,是否有更简单的方法来分割并检查它是否是一个数字?感谢
答案 0 :(得分:14)
使用JSON.parse
。
var myArray = JSON.parse("[918,919]");
答案 1 :(得分:3)
你可以在开头和结尾摆脱括号,然后使用:
str.split(",")
将返回以逗号字符分割的数组。
修改强>
var temp = new Array();
temp = "[918,919]".slice( 1, -1).split(",");
for (a in temp ) {
temp[a] = parseInt(temp[a]);
}
答案 2 :(得分:0)
如果您使用\\.
,则字符串必须带有“而不是',否则代码将失败。
例如:
JSON.parse
代码将以
失败let my_safe_string = "['foo','bar',123]";
let myArray = JSON.parse(my_safe_string)
相反,如果您使用“全部都会起作用
Uncaught SyntaxError: Unexpected token ' in JSON at position 1
所以您有两种可能性将字符串数组转换为数组:
let my_safe_string = "["foo","bar",123]";
let myArray = JSON.parse(my_safe_string);
替换',然后执行my_safe_string.replace("'",'"');
示例:
JSON.parse