分析:
在对象中保存每个字符即该字符出现的次数
(1)首先定义一个字符对象,
以及一个空对象
空对象可 以键值对 " key : value " 的 方式来保存需求
如下:
let str = 'sdoofofdortoyovoabscdsucsuhduhfsj';
//定义对象保存拆分的 键值对 即 "s": 3; "d" : 2 ......
let obj = {};
(2) for ... in 遍历 字符串
代码块如下:
//定义对象保存拆分的 键值对 即 "s": 3; "d" : 2 ......
let obj = {};
for (let i in str) {//遍历字符串
//定义临时变量保存每一项 键值对
let tempChar = str.charAt(i); //将下标为i的字符取出赋给变量tempChar
if(obj[tempChar]){ //若对象obj中存在属性tempChar(tempChar变量代表某个字符)
obj[tempChar]++
} else {//若不存在,给该属性赋值为 1
obj[tempChar] = 1
}
}
console.log(obj);
//找到出现最多的字符,
let max = 0;
let ch = "";//定义空串,保存结果
for (let j in obj) { // 遍历对象的属性,j即为对象的索引,也为对象的属性
if(obj[j] >= max) { //判断obj中属性的值
max = obj[j];
ch = j;
}
}
console.log(`出现最多的字符为: ${ch} 次数为: ${max}`);
控制台打印结果如下:
一行代码统计,如下: