分析:
- 建立一个对象,将字符串某一项作为key,value作为出现的次数
- 需要注意一点,需要去掉字符串的空格。
- 当然每个字符的出现的次数已知了,进而可知最多的次数了,将获得的对象进行Object.values,得到一个数组,求数组的最大项即可了
上代码:
代码语言:javascript复制function findCharMaxlength(str) {
const obj = {};
for (let index = 0, len = str.length - 1; index <= len; index ) {
if (str[index] === ' ') {
continue;
} else if (Reflect.ownKeys(obj, str[index])) {
obj[str[index]] = obj[str[index]] 1;
} else {
obj[str[index]] = 1;
}
}
return obj;
}
测试:
代码语言:javascript复制const str = 'ded a c ede edcbc eb';
// 每个字符的次数
let char = '';
let max = 0;
const obj = findCharMaxlength(str);
for (let key in obj) {
if (obj[key] > max) {
max = obj[key];
char = key;
}
}
console.log('max, char:', max, char); // 5 e
// 出现最多的次数
console.log('str:', Math.max(...Object.values(findCharMaxlength(str)))); // 5