javascript算法集:出现次数最多的字符
出现次数最多的字符 方法一(对象key的唯一性进行累加)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
function maxNum1(str){
if(typeof(str) !== 'string') str = str.toString();
let obj = {},
maxChar = []; // 使用数组保存出现最多次的某些字符
str.split('').forEach( (val) => {
if(!obj[val]){
let demo = obj[val] = 1;
}else{
obj[val]++;
}
})
let maxCount = Math.max.apply(null, Object.values(obj))
// forEach方法总是返回 undefined 且 没有办法中止或者跳出 forEach 循环。
Object.entries(obj).forEach( item => {
if(item[1] == maxCount){
maxChar.push(item[0])
}
})
return maxChar;
}
|
测试:maxNum1(‘11223333’) // ‘3’
THE END