判断一个字符串中出现次数最多的字符及次数

    var str = 'qwertyuilo.,marrrrrrr;.rtyuiop;l,mhsdjsa;kfjkafhksdf;.cvxdsdasdsaiuo';
    var json = {};
    //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来放入json
    for (var i = 0; i < str.length; i++) {
        //判断json中是否有当前str的值
        if (!json[str.charAt(i)]) {
            //如果不存在 就将当前值添加到json中去
            json[str.charAt(i)] = 1;
        } else {
            //else的话就让数组中已有的当前值的index值++;
            json[str.charAt(i)]++;
        }
    }
    console.log(json);
    //存储出现次数最多的值和次数
    var iMax= ''; // 值
    var iIndex=0; // 次数
    //遍历json  
    for (var i in json) {
        //如果当前项大于下一项
        if (json[i]>iIndex) {
            //就让当前值更改为出现最多次数的值
            iIndex= json[i];
            iMax= i;

        }

    }

    //最终打印出现最多的值以及出现的次数
    alert('出现最多的值是'+iMax+'出现次数为'+iIndex);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容