如何将字符串转换为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数组?
当前回答
如果字符串已经是列表格式,你可以使用JSON.parse:
var a = "['a', 'b', 'c']";
a = a.replace(/'/g, '"');
a = JSON.parse(a);
其他回答
下面是更多“自己试试”的例子。
定义和用法 split()方法用于将字符串拆分为子字符串数组,并返回新数组。
提示:如果使用空字符串(“”)作为分隔符,则字符串在每个字符之间被分割。
注意:split()方法不会改变原始字符串。
var res = str.split(",");
这在ES6中很容易实现;
你可以使用Array.from('string')将字符串转换为数组;
Array.from("01")
将console.log
['0', '1']
这正是你想要的。
正则表达式
作为分割的更强大的替代品,你可以使用匹配
"0,1".match(/\d+/g)
Let a = "0,1".match(/\d+/g) console.log(一个);
你可以使用javascript扩展语法将字符串转换为数组。在下面的解决方案中,我删除了逗号,然后将字符串转换为数组。
var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])
使用内置的map函数和匿名函数,如下所示:
string.split(',').map(function(n) {return Number(n);});
[编辑]下面是你如何使用它
var string = "0,1";
var array = string.split(',').map(function(n) {
return Number(n);
});
alert( array[0] );