统计出现最多的字符和次数
(一)、基础知识
字符串charAt()方法可返回指定位置的字符
语法:string.charAt(index)
参数 | 描述 |
---|---|
index | 必需。表示字符串中某个位置的数字,即字符在字符串中的位置。 |
var str = "HELLO WORLD";
var n = str.charAt(0);
console.log(n);
输出结果:'H'
如果判断js对象是否存在该属性
//利用字面量创建一个对象
var o = {
age:18
}
//访问对象的属性
if(o['age']) {
console.log('存在该属性')
}else {
console.log('该属性不存在')
}
输出结果:存在该属性
如果访问一个不存在的属性就会输出该属性不存在
(二)、核心思路
- 利用charAt()方法遍历这个字符串
- 把每个字符都存储给对象,如果对象没有该属性,就先赋值为1,如果存在了就+1
- 遍历对象,得到最大值和该字符
- 在遍历的过程中,把字符串中的每个字符作为对象的属性存储在对象中,对应的属性值是该字符出现的次数
代码实现:
var str = 'diguaaixiaran';
var o = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i);
//chars是字符串每一个字符
//o[chars]是属性值
if (o[chars]) {
o[chars]++;
} else {
o[chars] = 1;
}
}
//遍历对象,找出最大的次数
var max = 0;
var ch = '';
for (var k in o) {
//k得到属性名,最多的属性名赋给ch
//o[k]得到属性值,最多的属性值赋给max
if (o[k] > max) {
max = o[k];
ch = k;
}
}
console.log('最多的字符是' + ch + ',' + '次数为' + max);
输出结果:最多的字符是a,次数为4
Comments NOTHING