如何将字符串转换为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数组?
当前回答
Var I = "[{a:1,b:2}]", j = i.replace (/ ([a-zA-Z0-9] + ?): / g,“$ 1”:).replace (/ / g,””), k = JSON.parse(j); console.log (k)
// =>声明正则表达式
[a-zA-Z0-9] =>匹配所有a-z, a-z, 0-9
(): =>组所有匹配的元素
$1 =>替换字符串指正则表达式中的第一个匹配组。
G =>全局标志
其他回答
使用Array.filter的示例:
var str = 'a,b,hi,ma,n,yu';
var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');
为什么不像这样替换,逗号和分割(")字符串,这将导致['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);
这在ES6中很容易实现;
你可以使用Array.from('string')将字符串转换为数组;
Array.from("01")
将console.log
['0', '1']
这正是你想要的。
使用内置的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] );