J'ai une chaîne de mois et d'années: Je veux en faire cela dans un tableau 2D avec l'année dans la première position de chaque matrice et le mois de la deuxième position. En d'autres termes, je veux me retrouver avec ceci: p> la façon dont je le fais actuellement est la suivante: p> Existe-t-il un moyen de condenser ce code pour que je n'ai jamais besoin d'utiliser le Montharray code> var? P> p>
4 Réponses :
JavaScript est une autre langue dynamique et son type de variable vous permet de garder n'importe quoi où que vous soyez. Vous avez fait la fragée à droite, maintenant juste scinder cette chaîne avec Voir cet exemple: p> _ code> et le remettez-le là-bas. var months= "2010_1,2010_3,2011_4,2011_7";
var monthArray = months.split(",");
for (var i = 0; i < monthArray.length; i++) {
monthArray[i] = monthArray[i].split("_");
}
console.log(monthArray);
Vous pouvez utiliser ou Carte Si votre navigateur cible prend en charge: P> remplacer code> pour obtenir plus de code compact: var months= "2010/1 ... 2010/3 ... 2011/4";
months.replace(/(\d+)\/(\d+)/g, function($0, $1, $2) {
monthArray2d.push([parseInt($1), parseInt($2)]);
})
Bonjour, pourriez-vous élaborer un peu plus sur la première fonction? Comment obtiendrait-on cela pour fonctionner si les séparateurs n'étaient pas "_" et ",", mais un autre caractère par exemple "x" et "y"?
@JBJ: J'ai ajouté des explications à la poste ... laissez-moi savoir si vous avez des questions.
si condensé est ce que vous êtes après:
fractionnement chaque scission est une chose sensible à faire- Vous pouvez utiliser une expression régulière pour correspondre aux numéros séparés de soulignement, et insérez chaque paire dans son propre matrice poussé jusqu'au mois-mache -
mais je ne vois pas d'amélioration sur votre code: p>