JavaScript - jQuery:如何基于字符串创建数组项

4

以下是JavaScript中以如下方式编写的项数组:

var arr = [ 
    [1, 2, 'abc', 3, 'cab'],
    [3, 4, 'def', 5, 'ghi'],
    ];

有一个字符串变量,其中包含下一个项目的字符串表示:

var s = "[6, 7, 'new', 8, 'something']";

我该如何将字符串转换为新的“项”,以便可以将其推入'arr'数组中?
2个回答

2
您需要使用$.parseJSON函数。

如果 OP 修改字符串使其成为有效的 JSON,那么这将起作用。 - user113716

0

如果字符串是安全的(不是用户输入),您可以使用eval来执行它:

arr.push(eval(s));

或者,去掉字符串的第一个和最后一个字符,然后按逗号拆分它(前提是数组值本身没有逗号):
arr.push(s.substring(1, s.length - 1).split(","));

.eval() 可以工作。.split() 方法有点用,但不会给出我猜测 OP 想要的实际值。它们都是字符串,有些带有额外的空格,有些带有单引号。["6"," 7"," 'new'"," 8"," 'something'"] - user113716
这不是用户输入。谢谢! - Budda
@patrick - 你说的分裂(split)是对的。瞬间的粗心大意,完全没有想到它。 - David Tang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接