JavaScript系列--找出字符串里每个字符出现的次数和出先最多的字符

网摘:http://www.jb51.net/article/85779.htm
面试如题,我 没 写 出 来,尴尬个半死;
回来之后自己写了一下当时面试的想法,是不对的,在这里就不误导读者了。
总结了一下:
1、我忘了字符串也可以用for循环取到每个字符的;
2、我不知道怎么往一个对象(Object)里添加属性和值;

解决方法:
let obj = {};
let key = "name";
let value = "小鱼儿";
obj[key] = value;
console.log(obj);

结果:{name: "小鱼儿"}

3、我不知道对每个字符分别计数怎么存到对象里

解决方法:
for(let i = 0;i < str.length;i++){
  if(!obj[str.charAt(i)]){
    obj[str.charAt(i)] = 1;
  }else{
    obj[str.charAt(i)++;
  }
}
整体代码:
function count(str){
 let obj = {};
 let maxStr = null;
 let num = 0;
 for(let i = 0;i < str.length; i++){
    if(!obj[str.charAt(i)]){
        obj[str.charAt(i)] = 1;
    }else{
        obj[str.charAt(i)]++;
    }
 }
 for(let j in obj){
    if(obj[j] > num){
        num = obj[j];
        maxStr = j;
    }
 }
 console.log(obj);
 console.log("出现次数最多的字符是" + maxStr + "出现的次数为:" + num)
}
count("abbbcaccb");

感谢阅读我的文章,如有疑问或写错的地方,请不吝留言赐教

你可能感兴趣的:(JavaScript系列--找出字符串里每个字符出现的次数和出先最多的字符)