2010-08-21 58 views
0

我有收到一個字符串參數的功能,我需要將其轉換成一個數組。例如:我怎麼能這個字符串轉換成多維JavaScript數組

var param = "['Presidente', '', ''], ['Gerente de Operaciones', 'Presidente', ''], ['Gerente de Ventas', 'Presidente', '']"; 

function myFunc(data){ 
    // DoSomethingHere 
} 

myFunc(param); 

我需要將數據轉換爲數組,在這種情況下,它將有3個位置。我試過做Split(),但並沒有走得很遠。

回答

3

你可以用的eval()實現。只是包裝內的額外的內容「[]」,使其成爲一個數組

像這樣:

var data = eval("[['Presidente', '', ''], ['Gerente de Operaciones', 'Presidente', ''], ['Gerente de Ventas', 'Presidente', '']]"); 
+0

好吧,我敢肯定,我downvoted,因爲「EVAL是邪惡的」 ..使用克羅克福德的json2.js到.parse()是比較安全的,如果你是在一個瀏覽器上的不信任值的工作計劃。 – 2010-08-21 03:54:45

+0

不知道爲什麼你得到了downvote,因爲這是正確的答案 – 2010-08-21 03:57:59

+0

這是否創建一個數組與3位數據[0],數據[1],數據[2]或多維數組? – hminaya 2010-08-21 14:48:12

4
param = "[" + param + "]"; 
var array = JSON.parse(param); 

首先,使對象正確,然後使用某種類型的JSON解析器解析字符串。

+0

我的數據不是JSON格式,我不需要JSON格式。 – hminaya 2010-08-22 16:56:32

+0

...是的。幾乎。 – 2010-08-23 02:18:21

相關問題