找出重复最多的字符

思路:

  • 遍历字符串,将字符串的字符添加到声明的对象中作为属性
  • 字符每重复一次,其属性值自加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"
posted @ 2016-03-20 22:02  u14e  阅读(252)  评论(0编辑  收藏  举报