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

看看代码:

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

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

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


当前回答

使用内置的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中很容易实现;

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

Array.from("01")

将console.log

['0', '1']

这正是你想要的。

Split(",")可以将带有逗号的字符串转换为字符串数组,这是我的代码片段。

    var input ='Hybrid App, Phone-Gap, Apache Cordova, HTML5, JavaScript, BootStrap, JQuery, CSS3, Android Wear API'
    var output = input.split(",");
    console.log(output);

["混合应用"," Phone-Gap", " Apache Cordova", " HTML5", " JavaScript", " BootStrap", " JQuery", " CSS3", " Android Wear API"]

使用Array.filter的示例:

var str = 'a,b,hi,ma,n,yu';

var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');

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

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

对于这样的简单数组成员,可以使用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