Javascript变成a';数组字符串';排成一列
是否有可能将此转换为:Javascript变成a';数组字符串';排成一列,javascript,arrays,Javascript,Arrays,是否有可能将此转换为: var a = "[0,0,1,1,0,0,1,[1,0,2]]"; 到一个数组中,这样就可以使用它了 var newArray = a; // now newArray is [0,0,1,1,0,0,1,[1,0,2]], not "[0,0,1,1,0,0,1,[1,0,2]]" 它将从字符串转换为数组 将从字符串转换为数组。除了JSON.parse之外,还可以使用eval: var a = "[0,0,1,1,0,0,1,[1,0,2]]"; var newA
var a = "[0,0,1,1,0,0,1,[1,0,2]]";
到一个数组中,这样就可以使用它了
var newArray = a; // now newArray is [0,0,1,1,0,0,1,[1,0,2]], not "[0,0,1,1,0,0,1,[1,0,2]]"
它将从字符串转换为数组
将从字符串转换为数组。除了
JSON.parse
之外,还可以使用eval
:
var a = "[0,0,1,1,0,0,1,[1,0,2]]";
var newArray = eval(a);
关于是否使用
JSON.parse
或eval
的讨论,请参见此SO讨论:除了JSON.parse
之外,您还可以使用eval
:
var a = "[0,0,1,1,0,0,1,[1,0,2]]";
var newArray = eval(a);
关于是否使用JSON.parse
或eval
的讨论,请参见下面的讨论:是的,支持是可能的,如果给定字符串是有效的JSON表示形式,它将解析给定字符串并将其转换为对象 是的,支持是可能的,它将解析给定字符串并将其转换为对象(如果给定字符串是有效的JSON表示) 您还可以执行以下操作:
var result = eval("[0,0,1,1,0,0,1,[1,0,2]]");
您的结果将是:
[0, 0, 1, 1, 0, 0, 1, Array[3]]
您还可以执行以下操作:
var result = eval("[0,0,1,1,0,0,1,[1,0,2]]");
您的结果将是:
[0, 0, 1, 1, 0, 0, 1, Array[3]]
JSON.parse()
?JSON.parse(a)
Edit:Oh。。。嗯,我想你已经得到答案了哈哈。JSON.parse()
?JSON.parse(a)
Edit:Oh。。。好吧,我想你已经得到答案了哈哈。哦,好吧,那就行了。但是我有一个数组,里面有一个变量名,a,解析不能处理字符串或变量,是吗?哦,好的,可以。但是我有一个数组,里面有一个变量名,a,解析不能处理字符串或变量,是吗?没有讨论。切勿使用eval()
@斯科特马库斯从来都不是一个如此有力的词。它应该是绝对的最后手段,在创建像JSFIDLE这样的服务或其他类型的代码时非常有用。但这几乎总是错误的解决方案。@MikeC我不相信有任何用例需要eval()
。大多数情况下,这需要重新思考问题。我再也不会袖手旁观了。@ScottMarcus,如果你构建一个应用程序的目的是让用户运行自定义Javascript,那么它就是完成这项工作的合适工具。编写自己的JS解释器不会带来任何好处。@Mike C即使在这种情况下,我也不会使用eval()。除了eval()之外,还有其他选项。没有讨论。切勿使用eval()
@斯科特马库斯从来都不是一个如此有力的词。它应该是绝对的最后手段,在创建像JSFIDLE这样的服务或其他类型的代码时非常有用。但这几乎总是错误的解决方案。@MikeC我不相信有任何用例需要eval()
。大多数情况下,这需要重新思考问题。我再也不会袖手旁观了。@ScottMarcus,如果你构建一个应用程序的目的是让用户运行自定义Javascript,那么它就是完成这项工作的合适工具。编写自己的JS解释器不会带来任何好处。@Mike C即使在这种情况下,我也不会使用eval()。除了eval()之外,还有其他选项。