如何将字符串转换为JavaScript数组?
看看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
在这种情况下,警报显示0,1。如果它是一个数组,它将显示0。如果调用alert(数组[1]),它应该弹出1
是否有机会将这样的字符串转换为JavaScript数组?
如何将字符串转换为JavaScript数组?
看看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
在这种情况下,警报显示0,1。如果它是一个数组,它将显示0。如果调用alert(数组[1]),它应该弹出1
是否有机会将这样的字符串转换为JavaScript数组?
当前回答
为什么不像这样替换,逗号和分割(")字符串,这将导致['0','1'],此外,您可以将结果包装到parseInt()将元素转换为整数类型。
it('convert string to array', function () {
expect('0,1'.replace(',', '').split('')).toEqual(['0','1'])
});
其他回答
如果字符串已经是列表格式,你可以使用JSON.parse:
var a = "['a', 'b', 'c']";
a = a.replace(/'/g, '"');
a = JSON.parse(a);
使用Array.filter的示例:
var str = 'a,b,hi,ma,n,yu';
var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');
你可以使用split
参考: http://www.w3schools.com/jsref/jsref_split.asp
“0 1”.split (" ")
我删除字符'[',']'并使用','进行拆分
let array = stringObject.replace('[','').replace(']','').split(",").map(String);
对于这样的简单数组成员,可以使用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);