带逗号的JavaScript Split Array

时间:2014-10-24 12:53:44

标签: javascript arrays split

我有以下数组点[]:

11,133,3032,144,412,44,43,44,444,54,22,44,11,163,480,344

我试图用每4分裂。

我想要像:

point[0] = 11,133,3032,144
point[1] = 412,44,43,44
point[2] = 444,54,22,44
point[3] = 11,163,480,344

我已经尝试过了:

str.split(",", 4);但最后仍然有逗号和大小问题。

我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以通过splice - 数组来完成此操作。

var str = "11,133,3032,144,412,44,43,44,444,54,22,44,11,163,480,344";
var arr = str.split(','), result = [];
while(arr.length > 0) {
   result.push(arr.splice(0, 4));
}

如果你有一个数组而不是字符串,你可以使用最后三行。

答案 1 :(得分:0)

如果您尝试从字符串中获取子字符串,您也可以使用正则表达式。

str = "11,133,3032,144,412,44,43,44,444,54,22,44,11";
points = [];
while((match = /([0-9]+,){3}[0-9]+/.exec(str)) != null){
    points.push(match[0]);
    str = str.replace(/([0-9]+,){3}[0-9]+,*/, "");
}
if (str!="")            //if last substring has less than 4 elements
    points.push(str);