如何将字符串转换为JavaScript数组?

看看代码:

var string = "0,1";
var array = [string];
alert(array[0]);

在这种情况下,警报显示0,1。如果它是一个数组,它将显示0。如果调用alert(数组[1]),它应该弹出1

是否有机会将这样的字符串转换为JavaScript数组?


当前回答

使用Array.filter的示例:

var str = 'a,b,hi,ma,n,yu';

var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');

其他回答

分了就分了,人品;

var string = "0,1";
var array = string.split(",");
alert(array[0]);

这在ES6中很容易实现;

你可以使用Array.from('string')将字符串转换为数组;

Array.from("01")

将console.log

['0', '1']

这正是你想要的。

使用ES6的另一个选项是使用扩展语法。

var convertedArray =[…"01234"];

var stringToConvert = "012"; var convertedArray =[…stringToConvert]; console.log (convertedArray);

对于这样的简单数组成员,可以使用JSON.parse。

var array = JSON.parse("[" + string + "]");

这给了你一个数字数组。

[0, 1]

如果你使用.split(),你将得到一个字符串数组。

["0", "1"]

请注意JSON。Parse将限制您使用受支持的数据类型。如果需要像undefined或函数这样的值,则需要使用eval()或JavaScript解析器。


如果你想使用.split(),但你也想要一个数字数组,你可以使用Array.prototype。map,尽管你需要为IE8和更低的版本替换它,或者只是写一个传统的循环。

var array = string.split(",").map(Number);

你可以使用split

参考: http://www.w3schools.com/jsref/jsref_split.asp

“0 1”.split (" ")