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

本文介绍了JavaScript中charAt()方法用于获取字符串指定位置的字符,并通过遍历字符串展示其用法。此外,还展示了如何检查对象是否具有特定属性。最后,通过示例代码演示了如何统计字符串中出现次数最多的字符及其频率,核心算法涉及对象属性的动态更新和遍历查找最大值。
摘要由CSDN通过智能技术生成

一、charAt()对象 返回字符串中的字符

首先我们要了解一个对象charAt()
charAt() 方法从一个字符串中返回指定的字符。
下面是案例

// 根据位置返回字符
        // 1. charAt(index) 根据位置返回字符
        var str = 'andy';
        console.log(str.charAt(3));//返回y
        // 遍历所有的字符
        for (var i = 0; i < str.length; i++) {
            console.log(str.charAt(i));
        }

运行截图:
在这里插入图片描述
可以看到第一次返回y是str.charAt(3) 指定了andy字符串中索引为3的字符
后面遍历整个andy字符串 依次返回 a n d y四个字符

二、有一个对象 来判断是否有该属性

引入一个小案例

 // 有一个对象 来判断是否有该属性 对象['属性名']
        var o = {
            age: 18
        }
        if (o['sex']) {
            console.log('里面有该属性');

        } else {
            console.log('没有该属性');
        }

此为判断一个对象里是否有某个属性

三、判断某个字符串中出现次数最多的字符,并统计其次数

判断一个字符串 ‘abcoefoxyozzopp’ 中出现次数最多的字符,并统计其次数。
核心算法:先利用 charAt()遍历这个字符串,把字符串里的每个字符都存放在一个变量j里面;
然后把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1;这样就能把每一个字符出现的次数都找出来
最后再遍历对象,得到最大值和该字符。
具体代码实现:

<script>
        var str = "abcoefoxyozzopp";
var obj={}//创建一个没有属性的对象
for(i=0;i<str.length;i++)
{
    var j=str.charAt(i); 
  //j得到的是  第一次是j=a,第二次循环j=b,遍历字符串的每一个字符  
  if(obj[j]) //这里要注意调用对象属性
  //object['属性名']这是一种调用方式  object.属性名 这是第二种调用方式
  //因为j=str.charat(i); j返回的值是带引号的值  比如'a' 'b' 'c' 故调用属性直接用obj[j]
{
    obj[j]++;//如果有obj.j属性名的话 就+1次数 即字符出现的次数
}else
obj[j]=1;//如果没有obj.j这个属性名的话,就赋值1给obj.j这个属性
}
console.log(obj);
        // 2. 遍历对象
        var max = 0;
        var ch = '';
        for (var key in obj) {
            // key 得到是 属性名
            // obj[key] 得到的是属性值
            if (obj[key] > max) {
                max = obj[key];
                ch = key;
            }
        }
        console.log('最多的字符是' + ch+'出现的次数为'+max+'次');
    </script>

运行截图为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值