let str="lkjflsjgajflkgjeajglasdkjoaegjalsdkgjalskj";
function frequency(str){
let obj=str.split("").reduce((total,a)=>{
if(!total[a]){
total[a]=1;
}else{
total[a]+=1;
}
return total;
},{})
let s=Object.keys(obj).reduce((a,b)=>obj[a]>obj[b]?a:b)
return [s,obj[s]];
}
console.log("出现次数最多的字符:",frequency(str))
function frequencyMap(str){
let map=str.split("").reduce((map,a)=>{
if(map.has(a)){
map.set(a,map.get(a)+1);
}else{
map.set(a,1)
}
return map
},new Map())
return [...map.entries()].reduce((a,e)=> a[1]>e[1]?a:e)
}
console.log("出现次数最多的字符:",frequencyMap(str))
function generate(str){
let obj=str.split("").reduce((total,a)=>{
if(!total[a]){
total[a]=1;
}else{
total[a]+=1;
}
return total;
},{})
return (way)=>{
if(way=="most"){
let s=Object.keys(obj).reduce((a,b)=>obj[a]>obj[b]?a:b)
return [s,obj[s]];
}
if(way=="least"){
let s=Object.keys(obj).reduce((a,b)=>obj[a]<obj[b]?a:b)
return [s,obj[s]];
}
if(way=="self"){
return obj;
}
}
}
let fun=generate(str)
console.log("出现次数最多的字符串",fun('most'))
console.log("出现次数最少的字符串",fun('least'))
console.log("出现的字符串统计",fun('self'))