5

配列のような文字列があります:"[918,919]"。配列に変換したいのですが、分割して数値かどうかを確認するよりも簡単な方法はありますか?ありがとう

4

3 に答える 3

21

を使用しJSON.parseます。

var myArray = JSON.parse("[918,919]");
于 2013-03-24T06:43:09.583 に答える
4

最初と最後の角かっこを削除してから、次を使用できます。

str.split(",")

これは、コンマ文字で分割された配列を返します。

編集

var temp = new Array();
temp = "[918,919]".slice( 1, -1).split(",");
for (a in temp ) {
temp[a] = parseInt(temp[a]);
}
于 2013-03-24T06:40:11.163 に答える
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);

したがって、配列のように文字列配列をキャストする可能性は2つあります。

  • 'を"に置き換えmy_safe_string.replace("'",'"');てからJSON.parse
  • 文字列に文字列配列のみが含まれていることが非常に確実な場合は、evalを使用できます。

例:

let myArray = eval(my_safe_string );
于 2019-09-07T07:54:21.817 に答える