2010-08-21 59 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

相关问题