如何将字符串转换为JavaScript数组?
看一下代码:
var string = "0,1"; var array = [string]; alert(array[0]);
在这种情况下,alert将弹出一个0,1。当它是一个数组时,它会弹出一个0,而当alert(array[1]);它被调用时,它应该弹出一个1。
alert
0,1
0
alert(array[1]);
1
是否有机会将此类字符串转换为JavaScript数组?
对于像这样的简单数组成员,可以使用JSON.parse。
JSON.parse
var array = JSON.parse("[" + string + "]");
这为您提供了一个数字数组。
[0, 1]
如果使用.split(),则会得到一个字符串数组。
.split()
["0", "1"]
请注意,这JSON.parse将限制您使用受支持的数据类型。如果您需要类似undefined或函数的值,则需要使用eval()或JavaScript解析器。
undefined
eval()
如果您想使用.split(),但也想要一个数字数组,则可以使用Array.prototype.map,尽管您需要对IE8和更低版本进行填充,或者只编写传统循环。
Array.prototype.map
var array = string.split(",").map(Number);