我有以下数组点[]:
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)
;但最后仍然有逗号和大小问题。
我该怎么办?
谢谢!
答案 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);