2012-10-09 195 views
0

我正在從下拉列表中讀取值,具體取決於所選的選項。我正在使用jqPlot來繪製這些值。在javascript中將字符串數組拆分爲數組數組

jqPlot預計值的像[91, 6, 2, 57, 29, 40, 95]

一個數組但是當我從它是未來在整個字符串"[91, 6, 2, 57, 29, 40, 95]"

我試圖分裂它的下拉框閱讀的價值,但我得到了["91", "6", "2", "57", "29", "40", "95"]這不會正確顯示圖形。

有沒有人遇到過這樣的事情之前,我能做些什麼來使我的價值觀轉換成數組數組。

感謝所有幫助

回答

5

您可以使用JSON.parse()該字符串轉換成JavaScript數組。字符串中的數字未被引用,因此該數組也將包含數字。你可以刪除所有解析字符串的代碼,因爲你不再需要它了。

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

如果需要支持傳統瀏覽器,添加json2.js勻場JSON支持的瀏覽器本身不支持它。

+0

+1我很抱歉承認這是一個比我的簡單得多的答案:) –

+0

該死的,你快:) – xception

1

可以使用

str.slice(1, -1).split(',').map(function(s){return parseInt(s, 10);}); 
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]); 
})()​ 

Demo

2

當你正在使用jQuery你可以做

$.parseJSON("[91, 6, 2, 57, 29, 40, 95]");