如何将字符串转换为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 !== ',');

其他回答

我删除字符'[',']'并使用','进行拆分

let array = stringObject.replace('[','').replace(']','').split(",").map(String);

这在ES6中很容易实现;

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

Array.from("01")

将console.log

['0', '1']

这正是你想要的。

你可以使用javascript扩展语法将字符串转换为数组。在下面的解决方案中,我删除了逗号,然后将字符串转换为数组。

var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])

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 !== ',');