找出重复最多的字符
思路:
- 遍历字符串,将字符串的字符添加到声明的对象中作为属性
- 字符每重复一次,其属性值自加1
- 枚举对象的属性,找出值最大的那个键值对,并赋值
代码如下:
var str = "aabbddeeeeefdxxxd",
obj = {},
max = 0, //重复最多的次数
maxValue; //重复次数最多的字符
for (var i = 0; i < str.length; i++) { //遍历字符串
var key = str[i]; //将字符串的字符添加到声明的对象中作为属性
if (!obj[key]) {
obj[key] = 1;
} else {
obj[key]++; //字符每重复一次,其属性值自加1
}
}
for (var n in obj) { //枚举对象中的属性
if (max < obj[n]) { //找出值最大的那个键值对,并赋值
max = obj[n];
maxValue = n;
}
}
console.log(max, maxValue); //5 "e"