【问题标题】:Convert array as string to array javascript [duplicate]将数组作为字符串转换为数组javascript [重复]
【发布时间】:2019-07-29 11:51:08
【问题描述】:

这可能是一个愚蠢的问题,但我有一个这样的字符串:

"[1, 2, 3, 4]"

我想把它转换成一个实际的数组:

[1, 2, 3, 4]

我该怎么做?

【问题讨论】:

标签: javascript


【解决方案1】:

只需 JSON 解析它! JSON.parse("[1, 2, 3, 4]")

【讨论】:

    【解决方案2】:
    var string = "[1, 2, 3, 4]";
    JSON.parse(string);
    

    【讨论】:

      【解决方案3】:

      您应该使用并验证 Tom Finney 或 Ashishya11 或 Hasee Amarathunga 的答案,因为如果您的字符串输入来自不受信任的来源,我的答案包含严重的安全漏洞。但无论如何,你也可以这样做:

      const array = eval('[1, 2, 3, 4]')
      

      【讨论】:

      • 或 eval 的替代方法,一个函数构造函数:const array = Function("return [1, 2, 3, 4]")() - 显然应该较少 构成安全威胁,但仍可能有害
      • @nick 不,不是。我也不明白为什么这个答案是必要的。
      • 这个答案不是必要的,我只是指出,在提供了 3 个完全相同的解决方案作为答案之后,这是对 OP 问题的解决方案。如果你觉得它有害,我可以删除它
      • @JonasWilms 当你说“它不是”时,你的意思是它不是 eval 的替代品,或者它的安全威胁不小?
      • @nick 都 ... ...
      【解决方案4】:

      试试这个:

      JSON.parse("[1, 2, 3, 4]")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-20
        • 2013-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多