• JavaScript判断字符串中出现次数最多的字符,并统计其次数


    要求:

    输出一个给定字符串abdgdbcaethbganmugthaesqszaphfdvwd中出现次数最多的字符,并统计其次数。

    实现思路:

    1. 利用charA()遍历这个字符串
    2. 把每个字符都存储给对象,如果对象没有该属性,就先幅值为1,如果存在了就+1
    3. 遍历对象,得到最大值和该字符
    4. 在遍历的过程中,把字符串中的每个字符作为对象的属性存储在对象中,对应的属性值是该字符出现的次数

    代码实现:

    // 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);
    

    输出结果:

    {a: 5, b: 3, d: 4, g: 3, c: 1, …}
    
    最多的字符是a,次数为5
    
  • 相关阅读:
    element表单中一个elformitem下多个formitem项校验(循环校验)
    vscode配置
    git push时提示错误 sign_and_send_pubkey: no mutual signature supported
    syncthing文件同步网盘配置
    MQTT服务搭建和简单使用
    python脚本避免被多次执行
    Hadoop集群对datanode宕机后的处理机制源码阅读
    工作冲突和低谷
    职场的帮助
    测试总体思想
  • 原文地址:https://www.cnblogs.com/jacklzx/p/13776919.html
Copyright © 2020-2023  润新知