【问题标题】:How can I convert this string into a multidimensional JavaScript array如何将此字符串转换为多维 JavaScript 数组
【发布时间】:2010-08-21 03:46:22
【问题描述】:

我有一个接收字符串参数的函数,我需要将其转换为数组。例如:

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

function myFunc(data){
  // DoSomethingHere
}

myFunc(param);

我需要将数据转换为数组,在这种情况下它将有 3 个位置。我试过做 Split() 但没走多远。

【问题讨论】:

    标签: javascript arrays multidimensional-array


    【解决方案1】:
    param = "[" + param + "]";
    var array = JSON.parse( param );
    

    首先,使对象正确,然后使用某种 json 解析器来解析字符串。

    【讨论】:

    • 我的数据不是JSON格式的,我不需要JSON格式的。
    【解决方案2】:

    您可以使用 eval() 来完成。只需将您的内容包装在一个额外的“[]”中以使其成为一个数组

    像这样:

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

    【讨论】:

    • 好的,我确定我被否决了,因为“eval 是邪恶的”。如果您打算在浏览器中处理不受信任的值,则使用 Crockford 的 json2.js 到 .parse() 会更安全.
    • 不知道你为什么投了反对票,因为这是正确答案
    • 这是创建一个包含 3 个位置 data[0]、data[1] 和 data[2] 的数组还是一个多维数组?
    • 谢谢,这正是我想要的,它就像魅力一样。我没有使用任何不受信任的值,所以这不是问题。
    猜你喜欢
    • 2015-11-13
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2012-11-17
    相关资源
    最近更新 更多