js查找字符串中出现次数最多的字符,可查出多个相同最大次数的字符

这段代码定义了一个名为maxStringNum的函数,输入一个字符串,输出出现次数最多的字符及其出现次数。首先,将字符串转换为字符数组,然后使用reduce方法统计每个字符的出现次数,存储在一个对象中。接着,找出次数的最大值,并遍历对象,打印出次数等于最大值的字符及其出现次数。在给定的示例字符串'AAAAAbbbccdefgHHHHH'中,字符'A'和'H'出现次数最多,均为5次。
摘要由CSDN通过智能技术生成
let str1 = "AAAAAbbbccdefgHHHHH";
    function maxStringNum(str) {
      let strArr = str.split(""); //1.将字符串转为数组
      let strObj = strArr.reduce((x, y) => {
        y in x ? x[y]++ : (x[y] = 1);
        return x;
      }, {});//2.通过数组reduce方法生成一个统计每个字符出现字数的对象  strObj = {A: 5,H: 5,b: 3,c: 2,d: 1,e: 1,f: 1,g: 1,};
      let max = Math.max(...Object.values(strObj)); //3.将次数对象的值生成一个数组并通过Math.max()方法计算出最大值
      for (let key in strObj) {//4.通过for in循环这个对象当对象内的属性值等于max时,打印出对应的属性 及最大次数
        if (strObj[key] === max) {
          console.log('出现次数最多的字符'+key, '次数:'+max);
        }
      }
    }
    maxStringNum(str1);
  // 出现次数最多的字符A 次数:5
  // 出现次数最多的字符H 次数:5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值