判断一个字符串中出现次数最多的字符,统计这个次数

var str = "stiabsstringapbs"; var obj = {}; for (var i = 0; i < str.length; i++) { var key = str[i]; if (!obj[key]) { obj[key] = 1; } else { obj[key]++; } } var max = -1; var max_key = ""; var key; for (key in obj) { if (max < obj[key]) { max = obj[key]; max_key = key; } } alert("max:"+max+" max_key:"+max_key);

关于上述代码说法错误的是( )。
A
obj是用来统计字符数量的

B
代码所实现的功能是:统计字符串中,所有字符的数量

C
max表示最大字符,key表示字符

D
代码实现功能是:判断一个字符串中出现次数最多的字符,统计这个次数

正确答案:BC

var str = "stiabsstringapbs"; //定义字符串 var obj = {}; //定义对象 for (var i = 0; i < str.length; i++) { //遍历字符串 var key = str[i]; //存储字符 if (!obj[key]) { //若对象中不存在该key,初始化为1 obj[key] = 1; } else { //若对象中存在该key,则数值加1 obj[key]++; } } /*第一个for循环结束得到每个字符数量的对象,大概下面这鸟样 obj={ s:4, t:2, i:2, ... }*/ var max = -1; //初始化最大数量,最大数量字符 var max_key = ""; var key; for (key in obj) { //遍历obj对象,获得字符最大数量及对应字符 if (max < obj[key]) { max = obj[key]; max_key = key; } } alert("max:"+max+" max_key:"+max_key);

A. 正确。obj是用来统计字符数量的,每一个key就是对应的字符,对应的value就是这个字符出现的次数。

B. 错误。因为最后输出的是max和max_key。如果是统计字符串中,所有字符的数量,要对obj所含有的所有属性进行统计。

C. 错误。max统计的一个字符串中出现次数最多的字符的次数,而key就是这个字符。

D. 正确。obj对象进行字符出现次数的统计,循环进行出现次数最多的字符的判断和保存。所以代码实现功能是:判断一个字符串中出现次数最多的字符,统计这个次数


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17835691.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示