2016-05-03 21 views
2

私はJavaScriptの初心者です。文字列をintの配列に変換するのに問題があります。 私はこのような場合、このいずれかのint配列内の文字列の座標を変換する

var string = "[1,2,3,4]"; 

ではなくを見つける:

var string = "[[1,2],[1,2]]"; 

と同じ構文を持って

var result = [[1,2],[1,2]]; 

result = [[1,2],[1,2]]; 
+3

「JSON.parse」は両方を処理する必要があります。多分、その質問はもっと明白かもしれません。 'var string =" [1,2,3,4] "の出力はどれくらいですか? – ArcSine

+0

私は文字列を持っています:var string =" [[1,2]、[1,2]] ";結果は次のようになります。result = [[1,2]、[1,2]]; –

+2

'JSON.parse'はそれを期待される出力に変換します。 – ArcSine

答えて

2

はこれを試してみてください:

var 
    str = '[[1,2],[3,4]]', 
    result; 

result = JSON.parse(str); 

result[0] // [1, 2] 
result[1] // [3, 4] 

result[0][0] // 1 
result[1][1] // 4 

Read more about JSON.parse()

eval()機能を使用することはお勧めできません。

Object-Oriented JavaScript - Second Edition:evalの()は時々 役立つことができますが、他のオプションがある場合は避けるべきです。ほとんどの場合、 の大部分は選択肢がある時代であり、代替品はより洗練されており、書込みや保守が容易です。 "Eval is evil"は です。熟練したJavaScriptプログラマからよく聞くことができます。 eval()を使用する際の欠点は次のとおりです。

セキュリティ - JavaScriptは強力で、破損の恐れもあります。 eval()に渡す入力のソースを信頼しない場合は、 を使用しないでください。

パフォーマンス - 「ライブ」コードを評価するのは、コードをスクリプトに直接入れるよりも時間がかかります。

関連する問題