Por ejemplo, sssfgtdfssddfsssssss, el personaje más común es s, que aparece 12 veces
Escritura tradicional
analizar:
1. Prepare un JSON vacío y mire cada personaje en la cadena. Si no hay tal personaje en JSON, cree una nueva matriz en JSON y ponga este personaje en la matriz. Si hay este personaje en JSON, continúe agregando los personajes a la matriz. En este momento, después de completar el bucle, hay n matrices en JSON.
2. Encuentra la matriz más larga en JSON. En este momento, la longitud es el número, y la mayoría de los caracteres son este parámetro, utilizando el ATTR para ... en ... bucle y parámetro
var str = "sssfgtdfssddfsssssss"; function max () {var json = {}; var num = 0; var value = null; for (var i = 0; i <str.length; i ++) {var k = str [i]; if (! json [k]) {json [k] = [];} json [k]. // de lo contrario no se necesita aquí, de lo contrario se agregará solo cuando exista este personaje. El número de veces se reducirá} para (var attr en json) {if (num <json [attr] .length) {num = json [attr] .length; value = json [attr] [0];}} alert ("El carácter que aparece más es:"+valor+', y el número de veces es:'+num);}; max (str);¿Qué pasa si no quieres poner las cosas en JSON?
analizar:
1. Prepare un JSON vacío y mire cada personaje en la cadena. Si no hay tal carácter en el JSON, establezca el número de este personaje en 1. Si lo hay, el número ++
2. Loce los personajes de JSON, siempre que existan, asignarán su número a una variable y compararán el número de nuevos caracteres con el tamaño de esta variable cada vez. Si son más grandes que la variable, se actualiza el valor de la variable. Finalmente, el valor de esta variable es el número de la mayoría de los caracteres.
El personaje más común es este personaje en JSON
var str = "sssfgtdfssddfsssssss"; function max () {var json = {}; for (var i = 0; i <str.length; i ++) {var k = str [i]; // k son todos los caracteres, y las cadenas también se pueden recuperar mediante el método de subíndice de soporte como las matrices if (json [k]) {json [k] ++; // Cuando hay este personaje en JSON, el número de este personaje es +1,} else {json [k] = 1; // de lo contrario, establezca el número de este carácter en 1}} var num = 0; var value = null; for (var k en json) {// s, f, g, t, dif (json [k]> num) {num = json [k]; valor = k;}} alerta ("El carácter que parece más:"+valor+'y el número de ocurrencias es:'+num);};};Método regular
analizar:
1. Convierta la cadena en una matriz para clasificar, de modo que los mismos caracteres uno al lado del otro se seleccionen regularmente.
2. Use los dos parámetros del método reemplazar () regular () para que coincida con la mayoría de los caracteres y el número de caracteres
var str = "sssfgtdfssddfssssssss"; var num = 0; var value = null; function max () {var new_str = str.split (""). sort (). Join (""); var re = (/w)/1+/g; // no /1, re es una cadena ordenada completa. Con /1, es el repetido que aparece. /1 significa que el primer niño antes es el mismo nuevo_str.replace (re, function ($ 0, $ 1) {// $ 0 significa que todo se toma, como [s, s ...], [f, f ..], [d, d ....] $ 1 representa el carácter en todo este if (num <$ 0.length) {num = $ 0.length; value = $ 1}}); alert (valor+":"+num)}; max (str);