统计字符串中每个字符出现的次数

统计字符串中每个字符出现的次数

题目
统计一个字符串中每个字符出现的次数,并返回出现次数最多的字母以及相应次数

解答
利用reduce函数,将每个字符看成一个空箱子,遍历到就把值传到空箱子中,最后判断出空箱子里有多少

var str="helloworld";
var arr=str.split("");
var result=arr.reduce(
    function(prev,elem){
//到这个数时为这个数添加1次
        if(prev[elem]===undefined){
            prev[elem]=1;
        }else{
            prev[elem]+=1;
        }
        return prev;
    },
    {}
)
var char,count;
//遍历result中每个成员
for(var key in result){
//第一遍如果没有
    if(char===undefined){
        char=key;
        count=result[key];
    }else{
        //否则,开始作比较
        if(result[key]>count){
            char=key;
            count=result[key];
        }
    }
}
console.log(`${char}出现次数最多,共出现${count}`);
function strNum(str){
            let obj = {};
            for(let i=0;i<str.length;i++){
                let value = str.charAt(i)
                if(obj[value]){
                    obj[value]++
                }else{
                    obj[value] = 1
                }
            }
            let word = null
            let temp = 0
            for(let key in obj){
                if(obj[key]>temp){
                    temp = obj[key]
                    word = key
                }
            }
            return [word, temp].join(' ')
        }
        console.log(strNum('helloword'));
return返回多个值
  1. return {a,b,c}
  2. return [a,b,c]

知识点:reduce()、循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值