如何将字符串拆分为2D数组。字符串就像
1c2c3r4c5c6r6c8c9
数组应该像
[[1,2,3],
[4,5,6],
[7,8,9]]
答案 0 :(得分:3)
var src = "1c2c3r4c5c6r6c8c9";
var rows = src.split(/r/);
for (var i = 0; i < rows.length; i++)
rows[i] = rows[i].split(/c/);
请注意,我没有对此进行测试,因此可能包含语法错误或其他内容......
答案 1 :(得分:3)
您可以在Array
var s = "1c2c3r4c5c6r6c8c9";
var rows = s.split("r");
result = rows.map(function (x) {
return x.split('c');
}));
map
在ECMAScript5中引入,在旧版浏览器中不受支持。但是,有一个体面的工作here
答案 2 :(得分:2)
var str = "1c2c3r4c5c6r6c8c9";
var result = [];
var group = str.split("r");
for(i in group) {result.push(group[i].split("c"))};
结果应该是你想要的。
答案 3 :(得分:1)
这应该有效:
var src = "1c2c3r4c5c6r6c8c9";
var rows = src.split(/r/g);
for (var i = 0; i < rows.length; i++) {
var cells = rows[i].split(/c/g);
for (var j = 0; j < cells.length; j++) {
cells[j] = parseInt(cells[j]);
}
rows[i] = cells;
}