Por exemplo, SSSFGTDFSSDDFSSSSSSSSS, o personagem que mais aparece é S, que aparece 12 vezes
Escrita tradicional
analisar:
1. Prepare um JSON vazio e olhe para cada caractere na corda. Se não houver esse personagem no JSON, crie uma nova matriz no JSON e coloque esse personagem na matriz. Se houver esse personagem no JSON, continue adicionando os personagens à matriz. Neste momento, após a conclusão do loop, existem n matrizes em JSON.
2. Encontre a matriz mais longa em JSON. Neste momento, o comprimento é o número, e a maioria dos caracteres é esse parâmetro, usando o para ... em ... loop e parâmetro Att
var str = "sssfgtdfssddfsssssss"; função max () {var json = {}; var num = 0; var valor = null; para (var i = 0; i <str.length; i ++) {var k = str [i]; if (! json [k];. // else não é necessário aqui, caso contrário, será adicionado apenas quando esse personagem existir. O número de vezes será reduzido} para (var att em json) {if (num <json [att] .Length) {num = json [att] .Length; value = json [att] [0];}} alerta ("o caractere que mais aparece é:"+valor+'e o número de vezes é:'+num);};E se você não quiser colocar as coisas no JSON?
analisar:
1. Prepare um JSON vazio e olhe para cada caractere na corda. Se não houver esse personagem no JSON, defina o número desse personagem como 1. Se houver, o número ++
2. Loop os caracteres no JSON, desde que existam, eles atribuirão seu número a uma variável e compararão o número de novos caracteres com o tamanho dessa variável sempre. Se eles forem maiores que a variável, o valor da variável será atualizado. Finalmente, o valor dessa variável é o número da maioria dos caracteres.
O personagem mais comum é esse personagem em JSON
var str = "sssfgtdfssddfsssssss"; function max () {var json = {}; para (var i = 0; i <str.Length; i ++) {var k = str [i]; // k é todos os caracteres, e as strings também podem ser recuperadas pelo método subscrito de suporte como matrizes se (json [k]) {json [k] ++; // Quando existe esse personagem em JSON, o número desse personagem é +1,} else {json [k] = 1; Caso contrário, defina o número desse caractere como 1}} var num = 0; var value = null; para (var k em json) {// s, f, g, t, di (json [k]> num) {num = json [k]; value = k;}} alert ("o caractere é mais importante:"+value+'e e o alert ("+);Método regular
analisar:
1. Converta a string em uma matriz para classificar, para que os mesmos caracteres próximos um do outro sejam selecionados regularmente.
2. Use os dois parâmetros do método Reput () Regular () para corresponder à maioria dos caracteres e o número de caracteres
var str = "sssfgtdfssddfsssssss"; var num = 0; var value = null; function max () {var new_str = str.split (""). Sort (). junção (""); var re =/(/w)/1+/g; // Não /1, Re é uma string totalmente classificada. Com /1, é retirado com ocorrências repetidas. /1 significa que o primeiro filho antes é o mesmo new_str.preplace (re, função ($ 0, $ 1) {// $ 0 significa que o todo é retirado e repetido, como [s, s ...], [f, f ..], [d, d ....] $ 1 representa o caractere neste todo if (num <$ 0.Length) {num = $ 0.Length; value = $ 1}}); alert (valor+":"+num)}; max (str);