Comment je peux diviser une chaîne en tableau 2D. La chaîne est commeDiviser en tableau 2D
1c2c3r4c5c6r6c8c9
tableau SHLD être comme
[[1,2,3],
[4,5,6],
[7,8,9]]
Comment je peux diviser une chaîne en tableau 2D. La chaîne est commeDiviser en tableau 2D
1c2c3r4c5c6r6c8c9
tableau SHLD être comme
[[1,2,3],
[4,5,6],
[7,8,9]]
var src = "1c2c3r4c5c6r6c8c9";
var rows = src.split(/r/);
for (var i = 0; i < rows.length; i++)
rows[i] = rows[i].split(/c/);
S'il vous plaît noter que je n'ai pas testé cela, il pourrait donc contenir une erreur de syntaxe ou quelque chose ...
Cette devrait fonctionner:
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;
}
Vous pouvez n utiliser la méthode de la carte sur Array
var s = "1c2c3r4c5c6r6c8c9";
var rows = s.split("r");
result = rows.map(function (x) {
return x.split('c');
}));
map
est introduit dans ECMAScript5 et n'est pas pris en charge dans les navigateurs plus anciens. Mais, il y a un travail décent autour here
var str = "1c2c3r4c5c6r6c8c9";
var result = [];
var group = str.split("r");
for(i in group) {result.push(group[i].split("c"))};
résultat devrait être ce que vous voulez.