JS统计出现次数最多的字符

		var arr = "abbbbshdkhhhhadnkncueuijdow";
        var o={};//创建一个空的对象
        for(var i=0;i<arr.length;i++){//遍历对象
            var chars = arr.charAt(i);//用chars来记录每一个索引对应的数据元素
            if(o[chars])//对象['属性']即调用对象里面的属性和对象.属性的作用一样,这里表示如果该属性存在
                o[chars]++;//那么该属性值就++
            else//如果该属性不存在
                o[chars]=1;//那么就将该属性加入到此对象里面,并将属性值设置为1
        }
        console.log(o);//输出该对象,输出结果是arr中各元素及出现的次数
        var ch='';//设置字符型变量ch用来记录出现次数最多的字符
        var max=0;//设置max用于记录出现最多的次数
        for(var k in o){//k得到的是属性名,o[k]得到的是属性值(利用for  in来遍历对象for(var 变量 in 对象))
            if(o[k]>max){//如果该属性值大于max
                max=o[k];//则用max记录下当前最大的属性值
                ch=k;//记录当前属性值最大的属性
            }
        }
        console.log(ch+':'+max);//将出现最多的属性和属性值进行输出

思路:创建一个空的对象,然后遍历字符串,利用charAt()方法遍历每一个字符,然后在对象中寻找是否存在该属性,如果没有就创建属性,即o[‘属性’]=1,如果存在就++,用于记录该字符出现的次数。最后利用for in遍历对象,找出出现次数最多的属性。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值