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

看看代码:

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

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

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


当前回答

下面是更多“自己试试”的例子。

定义和用法 split()方法用于将字符串拆分为子字符串数组,并返回新数组。

提示:如果使用空字符串(“”)作为分隔符,则字符串在每个字符之间被分割。

注意:split()方法不会改变原始字符串。

var res = str.split(",");

其他回答

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

var listValues = "[{\"ComplianceTaskID\":75305,\"RequirementTypeID\":4,\"MissedRequirement\":\"Initial Photo Upload NRP\",\"TimeOverdueInMinutes\":null}]";

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

这给了你一个数字数组。

现在你的变量值是array。length=1

值输出

array[0].ComplianceTaskID
array[0].RequirementTypeID
array[0].MissedRequirement
array[0].TimeOverdueInMinutes

你可以使用split

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

“0 1”.split (" ")

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 =>全局标志

使用内置的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] );

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

var convertedArray =[…"01234"];

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