let str1 = "AAAAAbbbccdefgHHHHH";
function maxStringNum(str) {
let strArr = str.split(""); //1.将字符串转为数组
let strObj = strArr.reduce((x, y) => {
y in x ? x[y]++ : (x[y] = 1);
return x;
}, {});//2.通过数组reduce方法生成一个统计每个字符出现字数的对象 strObj = {A: 5,H: 5,b: 3,c: 2,d: 1,e: 1,f: 1,g: 1,};
let max = Math.max(...Object.values(strObj)); //3.将次数对象的值生成一个数组并通过Math.max()方法计算出最大值
for (let key in strObj) {//4.通过for in循环这个对象当对象内的属性值等于max时,打印出对应的属性 及最大次数
if (strObj[key] === max) {
console.log('出现次数最多的字符'+key, '次数:'+max);
}
}
}
maxStringNum(str1);
// 出现次数最多的字符A 次数:5
// 出现次数最多的字符H 次数:5
js查找字符串中出现次数最多的字符,可查出多个相同最大次数的字符
这段代码定义了一个名为maxStringNum的函数,输入一个字符串,输出出现次数最多的字符及其出现次数。首先,将字符串转换为字符数组,然后使用reduce方法统计每个字符的出现次数,存储在一个对象中。接着,找出次数的最大值,并遍历对象,打印出次数等于最大值的字符及其出现次数。在给定的示例字符串'AAAAAbbbccdefgHHHHH'中,字符'A'和'H'出现次数最多,均为5次。
摘要由CSDN通过智能技术生成