Par exemple, SSSFGTDFSSDDFSSSSSSS, le caractère le plus courant est S, qui apparaît 12 fois
Écriture traditionnelle
analyser:
1. Préparez un JSON vide et regardez chaque caractère de la chaîne. S'il n'y a pas un tel personnage dans JSON, créez un nouveau tableau dans JSON et placez ce personnage dans le tableau. S'il y a ce personnage dans JSON, continuez à ajouter les personnages dans le tableau. À l'heure actuelle, une fois la boucle terminée, il y a des tableaux N en JSON.
2. Trouvez le plus long tableau de JSON. À l'heure
var str = "sssfgtdfsssddfssssss"; function max () {var json = {}; var num = 0; var valeur = null; for (var i = 0; i <str.length; i ++) {var k = str [i]; if (! json [k]) {json [k] = [];} json [k). // sinon n'est pas nécessaire ici, sinon il ne sera ajouté que lorsque ce personnage existe. Le nombre de fois sera réduit} pour (var attr in json) {if (num <json [att] .length) {num = json [att] .length; value = json [att] [0];}} alert ("le caractère qui apparaît le plus est:" + value + ', et le nombre de fois est:' + num);}; max (str);Et si vous ne voulez pas mettre les choses dans JSON?
analyser:
1. Préparez un JSON vide et regardez chaque personnage de la chaîne. S'il n'y a pas un tel caractère dans le JSON, définissez le nombre de ce caractère sur 1. S'il y en a, le nombre ++
2. Faire boucle les caractères en JSON, tant qu'ils existent, ils affecteront leur numéro à une variable et compareront le nombre de nouveaux caractères avec la taille de cette variable à chaque fois. S'ils sont plus grands que la variable, la valeur de la variable est mise à jour. Enfin, la valeur de cette variable est le nombre de la plupart des caractères.
Le personnage le plus courant est ce personnage de JSON
var str = "sssfgtdfsssddfssssss"; fonction max () {var json = {}; for (var i = 0; i <str.length; i ++) {var k = str [i]; // k est tous les caractères, et les chaînes peuvent également être récupérées par la méthode des indices du support comme les tableaux if (json [k]) {json [k] ++; // Lorsqu'il y a ce caractère dans JSON, le nombre de ce caractère est +1,} else {JSON [k] = 1; // sinon, définissez le nombre de ce caractère sur 1}} var num = 0; var value = null; for (var k in json) {// s, f, g, t, dif (json [k]> num) {num = json [k]; value = k;}} alert ("le caractère qui apparaît la plupart est:" + sTr);Méthode régulière
analyser:
1. Convertissez la chaîne en un tableau pour le tri, afin que les mêmes caractères les uns à côté des autres soient sélectionnés régulièrement.
2. Utilisez les deux paramètres de la méthode Remplace () régulière pour correspondre au plus de caractères et le nombre de caractères
var str = "sssfgtdfsssddfsssssss"; var num = 0; var value = null; function max () {var new_str = str.split (""). tri (). join (""); var re = / (/ w) / 1 + / g; // non / 1, re est une chaîne triée entière. Avec / 1, c'est celle répétée qui apparaît. / 1 signifie que le premier enfant avant est le même new_str.replace (re, fonction (0 $, 1 $) {// $ 0 signifie que le tout est retiré, comme [s, s ...], [f, f ..], [d, d ... if (num <$ 0.Length) {num = $ 0.Length; value = $ 1}}); alert (valeur + ":" + num)}; max (str);