【问题标题】:Create 2d array from string从字符串创建二维数组
【发布时间】:2011-02-12 10:14:25
【问题描述】:

我有以下字符串:

[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,],]

如何从中创建一个二维字符串数组?


编辑

我已经删除了 html 标签,因为它们不是这里的问题。此外,我想在不使用任何额外库的情况下保持轻量级。

【问题讨论】:

    标签: javascript arrays string multidimensional-array


    【解决方案1】:

    除了其中的 HTML 标记外,它将是有效的 JSON。您可以删除 HTML 标记并使用任何处理 JSON 的库(例如 jQuery)对其进行解析:

    var arr = $.parseJSON(theString.replace(/<br\/>/g,''));
    

    它也是删除了 HTML 标记的有效 Javascript 代码,因此,如果您可以完全控制字符串的来源,从而确定它永远不会包含任何有害代码,您可以使用 eval 函数执行字符串:

    // Warning: 'eval' is subject to code injection vulnerabilities
    var arr = eval(theString.replace(/<br\/>/g,''));
    

    【讨论】:

    • +1 用于 parseJSON(或等效),以及关于 eval 的警告。很多人说要避免 eval 像瘟疫一样。
    【解决方案2】:

    您需要从字符串中删除&lt;br/&gt;。那么你应该可以做到:

    var my2darray = eval(mystring);
    

    【讨论】:

    • 没有提到如何进行替换。
    猜你喜欢
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2021-04-04
    相关资源
    最近更新 更多