获取单词中重复次数最多的字母的计数 [英] Get count of most repeated letter in a word

查看:55
本文介绍了获取单词中重复次数最多的字母的计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试计算单词中重复次数最多的字母

I am trying to get the count of the most repeated letter in a word

function GreatestCount(str)
{
    var count = {}

    for (var i = 0 ; i<str.length;i++)
    {
        var char = str[i];
        count[char] = (count[char] || 0) + 1;

    }

     //get the largest number for the letter counts
    var max = 0;

    for (var c in count) {
        if (count[c] > max) max = count[c];
    }

    return max
}

有人可以向我解释为什么

can someone explain to me why

count[char] = (count[char] || 0) + 1;// this works

count[char] += 1 // this does not work 

推荐答案

因为

count[char] += 1

等于

count[char] = count[char] + 1

第一次运行代码时,count[char]undefined,因此它与

and the first time the code is run, count[char] is undefined so it's pretty much the same as

undefined + 1 // which is NaN

工作版本通过使用||运算符安全地添加0来避免这种情况.

The working version circumvents this case by safely adding with 0 using || operator.

这篇关于获取单词中重复次数最多的字母的计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆