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

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

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

解答
利用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()、循环

你可能感兴趣的:(前端,js)