0

選択したオプションに応じて、ドロップダウンリストから値を読み取っています。jqPlotを使用して値をグラフ化しています。

jqPlotは、次のような値の配列を期待します[91, 6, 2, 57, 29, 40, 95]

しかし、ドロップダウンボックスから値を読み取ると、文字列全体として入力されます。"[91, 6, 2, 57, 29, 40, 95]"

分割してみましたが["91", "6", "2", "57", "29", "40", "95"]、グラフが正しく表示されませんでした。

以前にこのようなことに遭遇したことがある人はいますか?値を数値配列に変換するために何ができますか?

助けてくれてありがとう

4

4 に答える 4

5

JSON.parse()その文字列をJavaScript配列に変換するために使用できます。文字列内の数字は引用符で囲まれていないため、配列には数字も含まれます。また、文字列を解析するすべてのコードを、不要になったため削除できます。

>>> JSON.parse("[91, 6, 2, 57, 29, 40, 95]")
[91, 6, 2, 57, 29, 40, 95]

レガシーブラウザをサポートする必要がある場合は、json2.jsを追加して、ネイティブでサポートしていないブラウザでJSONサポートをシムします。

于 2012-10-09T09:35:10.897 に答える
2

JSON.parseを使用して、文字列 "[91、6、2、57、29、40、95]"を配列に変更できます。

​(function(){
    var a = '[1,2,3]';
    var b = JSON.parse('[1,2,3]');
    alert(b +'\n'+ typeof(b)+'\n'+ b[0] );
})()​

デモ

于 2012-10-09T09:40:11.883 に答える
2

jQueryを使用しているので、次のことができます

$.parseJSON("[91, 6, 2, 57, 29, 40, 95]");
于 2012-10-09T09:51:47.347 に答える
1

あなたが使用することができます

str.slice(1, -1).split(',').map(function(s){return parseInt(s, 10);});
于 2012-10-09T09:35:22.150 に答える