Bonjour,
J'ai besoin de gérer un " " (espace) pour les heures <10 et un "0" (zéro) pour les minutes <10.
les heures vont de 1 à 3 caractères, les minutes sont sur 2 caractères.
Actuellement je gère ça comme ceci :
Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function space(val) { if (val < 10) { val = " " + val; } return val; } function genIteNext (ttwCurr) { var ttwCurr = ttwCurr.match(/.*?([0-9]{1,3}):([0-9]{2})/); var ttwNext = []; if ((parseFloat(ttwCurr[2]) + 10) < 60) { ttwNext = "T+" + space (parseFloat(ttwCurr[1])) + ":" + ("0" + (parseFloat(ttwCurr[2]) + 10)).slice(-2); } else { ttwNext = "T+" + space (parseFloat(ttwCurr[1]) + 1) + ":" + ("0" + (parseFloat(ttwCurr[2]) - 50)).slice(-2); } return ttwNext; }
J'aimerais 'uniformiser' les méthodes utilisées pour gérer le " " (espace) et le "0" (zéro)
Je peux facilement remplacer le ("0" + (...)).slice(-2) par la même méthode que pour gérer l'espace (une fonction)
ce qui donnerait ceci :
Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function space(val) { if (val < 10) { val = " " + val; } return val; } function zero(val) { if (val < 10) { val = "0" + val; } return val; } function genIteNext (ttwCurr) { var ttwCurr = ttwCurr.match(/.*?([0-9]{1,3}):([0-9]{2})/); var ttwNext = []; if ((parseFloat(ttwCurr[2]) + 10) < 60) { ttwNext = "T+" + space (parseFloat(ttwCurr[1])) + ":" + zero ((parseFloat(ttwCurr[2]) + 10)); } else { ttwNext = "T+" + space (parseFloat(ttwCurr[1]) + 1) + ":" + zero ((parseFloat(ttwCurr[2]) + 10) % 60); } return ttwNext; }
En revanche je n'arrive pas à gérer le " " (espace) pour les heures avec slice du faite qu'il n'est pas fixe à un nombre de caractère (je crois que ce n'est pas possible de le faire), si vous avez la solution je suis preneur
Donc j'ai essayé de concaténer les fonctions space et zero pour faire quelque chose de "propre et bien écrit" mais je prend des murs en permanence
Comment vous feriez ça ?
Merci
Partager