进阶题 判断一个字符串 “abcoefoxyozzopp“ 中出现次数最多的字符,并统计其出现的次数。

这段代码用于统计字符串中各字符出现的次数并找出出现最多的字符。首先创建一个空对象存储字符及其频率,然后遍历字符串更新对象。接着,遍历对象找到最大频率的字符。
摘要由CSDN通过智能技术生成

var arr = "abcoefoxyozzopp";

// 1.统计次数

//创建一个空的对象,存储字符串中的每个字符.

// 属性:每个字符; 属性值:出现的次数;

var obj = {};

//遍历字符串

for (var i = 0; i < arr.length; i++) {

//chars代表字符串的每一个字符

// charAt() 方法从一个字符串中返回指定的字符。

var chars = arr.charAt(i);

//如果obj对象中有这个字符,次对象的值+1

if (obj[chars]) {

obj[chars]++;

} else {

//如果obj对象没有这个字符,也就是第一次出现这个字符,就把它写进对象数组中,名字为该字符,值为1;

obj[chars] = 1;

}

}

console.log(obj);

// 2.遍历对象,找出最大的次数

var max = 0; //记录数量

var ch = ""; //记录字符

//遍历obj对象

for (var k in obj) {

if (obj[k] > max) {

//obj[k] = 属性值 = 出现的次数

max = obj[k];

ch = k; //k = 属性名 = 每个字符串

}

}

console.log("出现最多的字符是:" + ch + "\n" + "次数为:" + max);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值