繁体   English   中英

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

[英]How to Convert Array-like String to Array

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

使用JSON.parse

var myArray = JSON.parse("[918,919]");

您可以在开头和结尾删除括号,然后使用:

str.split(",")

它将返回由逗号字符分割的数组。

编辑

var temp = new Array();
temp = "[918,919]".slice( 1, -1).split(",");
for (a in temp ) {
temp[a] = parseInt(temp[a]);
}

如果您使用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);

所以你有两种方法可以将字符串数组转换为数组:

  • 将'with“替换为my_safe_string.replace("'",'"'); 并在做了JSON.parse
  • 如果您非常确定您的字符串只包含字符串数组,则可以使用eval:

例:

let myArray = eval(my_safe_string );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM