逗号分隔数字的字符串到javascript中的整数数组

时间:2015-04-21 11:30:05

标签: javascript arrays split

我将使用逗号分隔数字的String转换为整数数组,如

 var string = "1,2,3,4"; 
 var array = string.replace(/, +/g, ",").split(",").map(Number); 

返回array = [1,2,3,4];

但是什么时候,

 var string = ""; 
 var array = string.replace(/, +/g, ",").split(",").map(Number); 

返回array = [0];

我原以为它会返回array = []; 有人可以说为什么会这样。

3 个答案:

答案 0 :(得分:8)

我建议这样做:

var array;
if (string.length === 0) {
    array = new Array();
} else {
    array = string.replace(/, +/g, ",").split(",").map(Number);
}

答案 1 :(得分:4)

string.replace(/, +/g, ",").split(",")返回一个包含一个项目的数组 - 一个空字符串。在javascript中,转换为数字时为空字符串为0.见自己

Number(""); // returns (int)0

答案 2 :(得分:2)

要删除逗号后面的空格,可以在split函数本身内使用正则表达式。

array = string.split(/\s*,\s*/).map(Number);

我希望它会有所帮助