2010-12-16 135 views

回答

3
var src = "1c2c3r4c5c6r6c8c9"; 
var rows = src.split(/r/); 

for (var i = 0; i < rows.length; i++) 
    rows[i] = rows[i].split(/c/); 

请注意,我没有测试此所以它可能包含语法错误或东西...

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; 
} 
3

你可以n使用地图法在Array

var s = "1c2c3r4c5c6r6c8c9"; 
var rows = s.split("r"); 
result = rows.map(function (x) { 
    return x.split('c'); 
})); 

map在ECMAScript5介绍,并在旧的浏览器不支持。但是,有一个体面的解决方案here

2
var str = "1c2c3r4c5c6r6c8c9"; 
var result = []; 
var group = str.split("r"); 
for(i in group) {result.push(group[i].split("c"))}; 

结果应该是你想要的。