// 第一种方法
let abc = "asfdhdjakghksdgasdgasgwaekbasflh"
function serchStr(str){
// 建立一个目标对象
const target = {};
// 遍历字符串
for ( let i in str ) {
if (!target[str.charAt(i)]) {
// 第一次遍历到字符时创建key并使value为1
target[str.charAt(i)] = 1
}else{
// 当遍历到重复字符时使value+1
target[str.charAt(i)] += 1
}
}
// 此时target记录了字符串中的字符及其出现次数,但如果出现次数最多的字符有复数存在想要得出结果十分复杂
}
// 第二种方法
var abc = "asfdhdjakghksdgasdgasgwaekbasflhs"
function serchStr(str){
let target = new Map()
for(var i in str){
if(!target.has(str[i])){
// 如果第一次遍历到字符,建立一个键值对并设置值为1
target.set(str[i],1)
}else{
// 如果已经遍历过该字符,让键值对的值+1
target.set(str[i],target.get(str[i])+1)
}
}
let count = 0
target.forEach(ele=>{
// 计算出现次数最多的字符所出现的次数
if(ele>count) count=ele
})
for( let [key,value] of target){
if(value == count){
// 输出匹配最多输出次数的键值对
console.log(key+"=>"+value)
}
}
}
给定一个字符串,写一个函数求出重复次数最多的字符及其出现次数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题目描述:找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,那就找出最先出现的那个字符思考: 我的...
- 我就先贴出来我写的代码,然后再讲一下在做这个出现的问题 在做的过程中遇到了一个问题我在操作obj这个对象属性时,用...
- 相信大家看到这个问题,有可能想到的是类似于以下的答案: 但是上面程序有一些小小的问题:如果最多的字符串有多个的话,...