如何将类数组字符串转换为数组

时间:2013-03-24 06:38:39

标签: javascript jquery underscore.js

我有一个看起来像数组的字符串:"[918,919]"。我想将它转换为数组,是否有更简单的方法来分割并检查它是否是一个数字?感谢

3 个答案:

答案 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("'",'"');
  • 如果您非常确定您的字符串仅包含字符串数组,则可以使用eval:

示例:

JSON.parse