Bonjour,
Je dois faire le compte de caractère alphanumérique d'une string que je stocke dans un tableau, puis trier ce tableau en mettant les lettres les plus fréquentes en premier, puis triées par ordre alphabétique.
J'ai donc réussi à faire le compte, mais je bloque au niveau du tri, avec la fonction sort() j'ai rien, et quand je fais tab.length, il me retourne 0.
Merci de votre lecture.
Code : 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 var str = "Je ne sais pas ce que je fais ici."; str = str.toLowerCase(); // on minifie chaque caractere str = str.replace(/[^A-Za-z0-9]/g, ''); // on enleve tout caractère non alpha-numérique // Boucle pour compter chaque lettre var tab = []; // tab pour stocker les lettres for (var i = 0; i < str.length; ++i) { // On prend chaque caractère 1 à 1 var ch = str.charAt(i); count = tab[ch]; // on stocke la lettre dans le tab si elle n'existe pas encore // Condition: si la lettre existe, on ajoute 1 au compte tab[ch] = count ? count + 1 : 1; } // on trie le tab tab.sort(function(a, b){return b-a}); // on affiche for (ch in tab) { document.getElementById("resultat").innerHTML += "nombre de " + ch + " : " + tab[ch] + "<br>"; }
Partager