1.利用reduce
let str = "aaaaaeeffrrt";
let num = str.split("").reduce((pre, cur) => {
if (cur in pre) {
pre[cur]++;
} else {
pre[cur] = 1;
}
return pre;
}, {});
// num {a: 5, e: 2, f: 2, r: 2, t: 1}
var maxNum = 0;
var maxStr = "";
for (const i in num) {
if (num[i] > maxNum) {
maxNum = num[i];
maxStr = i;
}
}
console.log(maxStr,maxNum)//'a',5
2.利用map
let string = "aaaaaeeffrrt";
const obj = {};
for (let char of string) {
obj[char] = obj[char] + 1 || 1;
}
console.log(obj)
// 输出 {a: 5, e: 2, f: 2, r: 2, t: 1}