JavaScript实现输出字符串里面出现次数最多的字符,并统计该字符出现的次数

场景描述:你需要统计一个字符串里面的各个字符出现的次数,并且把出现次数最多的字符打印出来

    const str = "anmjiiiiiiiiiiiiiopddhgaassdqadfaaaqaddvvca"   //定义一个字符串
    let obj = {}   //定义一个空对象,用来接收字符串里面的字符
    let max = 0    //定义一个变量存储最大值
    let char = ''  //定义一个变量存储出现次数最多的字符
    for(let i = 0; i < str.length; i++){
        let chars = str.charAt(i)      //利用charAt(index)把对应下标的每一个字符去取出来赋值给charts
        if(obj[chars]){      //如果是obj对象里面已经有了该字符,就把该字符的数量加1
          obj[chars]++
        }else{       //如果obj对象里面并没有含有该字符,则会把该字符添加进到obj对象里面,并且把他的初始数值置为1
          obj[chars] = 1
        }
    }
    for(let i in obj){   //在obj对象里面比较每一个属性
      if( obj[i] > max){
        max = obj[i]    //取出最大值赋值给 max
        char = i        //把最大值的属性赋值给 char
      }
    }
    for(let i in str){ 
      document.write(`${str[i]} `)  //输出要数的字符串
    }
    document.write("</br>");
    for(let i in obj){   //把每一个字符的数量都列出来
      document.write(`${i}:${obj[i]} `);//反引号的写法可以省略掉以前一般写法靠 + 连接的情况
    }
    document.write("</br>");
    document.write(`该出现次数最多的是 ${char} ,次数为 ${max} `);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值