JavaScript juzga el carácter que aparece con más frecuencia en una cadena y cuenta su frecuencia

Reclamación:

Imprima abdgdbcaethbganmugthaesqszaphfdvwdel carácter con más ocurrencias en una cadena dada y cuente sus tiempos.

Ideas de realización:

  1. Úselo charA()para atravesar la cuerda
  2. Almacene cada carácter en el objeto, si el objeto no tiene este atributo, la primera amplitud es 1, y si existe, será +1
  3. Atraviesa el objeto, obtén el valor máximo y el carácter
  4. En el proceso de recorrido, cada carácter de la cadena se almacena en el objeto como un atributo del objeto, y el valor del atributo correspondiente es el número de veces que aparece el carácter.

Código:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.统计次数
        var str = 'abdgdbcaethbganmugthaesqszaphfdvwd';
        var obj = {
     
     };
        // 创建了一个空的对象,存储字符串中的每个字符。属性:每个字符,属性值:该字符出现的次数
        for (var i = 0; i < str.length; i++) {
     
     
            // 遍历字符串
            var chars = str.charAt(i);
            // chars代表字符串的每一个字符
            if (obj[chars]) {
     
     
                obj[chars]++;
            } else {
     
     
                obj[chars] = 1;
            }
            // obj[chars]属性值:该字符出现的次数
            // 如果已经存在,那么次数+1;否则赋值为1
        }
        console.log(obj);
        // 输出对象obj,显示每个字符出现的次数

        // 2.遍历对象,找出最大的次数
        var max = 0;
        var ch = '';
        for (var k in obj) {
     
     
            if (obj[k] > max) {
     
     
                max = obj[k];
                ch = k;
            }
        }
        // k代表属性:每个字符
        // obj[k]代表属性值:该字符出现的次数
        // 将次数最多的字符赋值到ch

        console.log('最多的字符是' + ch + ',次数为' + max);
    </script>
</body>

</html>

Resultado de salida:

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Jack_lzx/article/details/109262998
Recomendado
Clasificación