js获取字符串出现次数最多_js如何获取字符串中出现次数最多的字符

我是一个不太会表达的人,所以我尽可能的用代码来阐释我的理解和思考,废话不多说,我就直接放代码了:

function getStingMax(str){

if(typeof str !== "string"){

alert("请传入string类型的数据")

return

}

let countObj ={},max=[{key:str[0],num:1}];

for(let i=0;i

let char=str[i];

countObj[char]=countObj[char]?countObj[char]+1:1;

}

for(let char in countObj){

if(max[0].num

max=[];

max[0]={key:char,num:countObj[char]}

}else if(max[0].num===countObj[char]){

max.push({key:char,num:countObj[char]})

}

}

console.log(max);

return {

max:max

}

}

在这段代码中,我先做了一个参数校验,保证传入的是字符串。然后将外部传入的str进行了计数,并将计数结果放在了countObj中。再对countObj的每个属性进行遍历,找出出现次数最多的字符串合集存入max数组,并把max数组打印出来。最后将得到max数组放在返回对象的max属性中返回出去(用对象返回是为了方便该方法以后的拓展)。

你可能感兴趣的:(js获取字符串出现次数最多)