let str = 'dsahdqdi';
let obj = {};
/* 1、先将字符串以键值对的形式放进对象中 */
// 将字符串中的字符作为对象的键,将字符出现的次数最为对象的值
for(let i=0;i<str.length;i++){
// obj_key 为obj的属性(键) ,obj[obj_key]为obj的属性值(值)
let obj_key = str.charAt(i) // charAt() 函数返回位于指定位置的字符。
if (obj[obj_key]) {
obj[obj_key]++
}else{
obj[obj_key] = 1
}
}
console.log(obj); // {d: 3, s: 1, a: 1, h: 1, q: 1, …}
/* 2、遍历对象,找到出现次数最多的字符的次数 */
let max_key = '' // 属性(键)
let max_value = 0; // 次数(值)
for(key in obj){ // key是属性值
if (obj[key]>max_value) { // 循环体中的max_value赋值操作,实现循环每个值时只有比当前值大时才能进入判断,从而拿到最大值
max_key = key // max_key始终储存次数最多的那个字符
max_value = obj[key] // 那么对应的字符就是当前的key
}
}
console.log("最多的字符是" + max_key); // 最多的字符是d
console.log("出现的次数是" + max_value); // 出现的次数是3
实现统计字符串中出现次数最高的字符以及次数
最新推荐文章于 2022-11-06 20:37:53 发布