Rle en JS
Bonjour,
Bonjour,
Etant débutant en JS je viens vous demander de l'aide il faut absolument que je parvienne a réaliser un rle en JS. Mon programme devra demander une liste (ex BBBBBBNN) et le programme devra donner 6B2N. J'ai bien compris qu'il fallais utiliser for et if mais je ne sais pas comment mdr. De plus je pense qu'il faudrais une sorte de compteur...
PS:Merci a la personne qui m'a rapeler que j'avais un cerveau XD
Bonjour,
Etant débutant en JS je viens vous demander de l'aide il faut absolument que je parvienne a réaliser un rle en JS. Mon programme devra demander une liste (ex BBBBBBNN) et le programme devra donner 6B2N. J'ai bien compris qu'il fallais utiliser for et if mais je ne sais pas comment mdr. De plus je pense qu'il faudrais une sorte de compteur...
PS:Merci a la personne qui m'a rapeler que j'avais un cerveau XD
4 réponses
-
ModérateurDe rien
Et je te redonne même le lien
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/ -
ModérateurMais oui.
Il te faut une boucle
un IF pour tester si la valeur de ta boucle est identique à la précédente ou non
Une variable que tu incrémentes à chaque tour de boucle et que tu réinitialise lorsque tu changes de lettre
Une variable pour stocker le résultat final
-
-
Modérateur@maxrzkEn fait il faut :
Spliter ta variable A pour en faire un array
Boucler sur ce tableau
Y mettre un IF pour vérifier si tu as le même caractère ou si tu en a changé
Si tu es sur le même... incrémenter ta variable
Si tu es passé à un autre ... stocker le compteur + la lettre dans la variable result -
-
Modérateur@jordane45Au passage ... au lieu du for .. tu peux utiliser un forEach
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/forEach
Et pour spliter :
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/split
Pour l'incrémentation :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators -
@jordane45merci bcp de ton aide mdrr je débute vraiment j'en suis a mes premieres heure donc ne le prend pas mal si je ne comprend pas tout tout de suite
-
-
var a;
a=prompt("Quel est la liste ?");
var resultat;
var tableau = [];
tableau [0] = "B";
tableau [1] = "N";
C'est bien comme début ? -
ModérateurBon.... je suppose que le week end a été dur pour tout le monde.... et que tu vas t'agacer si tu ne trouves pas rapidement la solution...
Vu la simplicité de l'exo.. je vais te donner la réponse.... ne pouvant assurer un suivi de la discussion toute la nuit... :-)
Donc voici deux façons de résoudre ton exo :
Solution 1 :function solution1(){ //on initialise les variables var result= ""; var compteur = 0; var liste = prompt("Quel est la liste ?"); var carprec = null; //on transforme ta liste en array var arr = liste.split(''); //on boucle sur chaque lettre arr.forEach(function(element) { if(element != carprec && carprec!=null){ result += compteur + carprec; compteur = 0; } //on incrémente le compteur compteur++; //on stocke le caractère précédent pour le if carprec = element; }); result += compteur + carprec; alert(result); }
Solution 2 :// Autre façon de faire : function solution2(){ var str = prompt("Quel est la liste ?"); var counts = {}; // Misc vars var ch, index, len, count; // Loop through the string... for (index = 0, len = str.length; index < len; ++index) { // on récupère le caractère ch = str.charAt(index); //on compte le nombre de caractère correspondant et on stocke dans l'array counts counts[ch] = typeof(counts[ch]) !='undefined' ? counts[ch]+1 : 1; } console.log(counts); //on construit la chaine de resultat pour l'afficher var result=""; for ( var key in counts){ result += counts[key] + key; }; alert(result); }
Cordialement,
Jordane-
-
Modérateur@maxrzkTu as essayé quoi , où , comment ??
-