javascript获取字符串中出现最多的字符并弹出其次数

今天在网上看面试题的时候,发现了这个问题---获取字符串中出现最多的字符并弹出其次数。百度了许多,看不大懂。然后自己学着去写了一个

一、怕自己忘记了 二、希望能帮助到其他的初学者,我也是小白,所以代码比较简单。同时注释比较多 方便理解!


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script type="text/javascript">
		window.οnlοad=function () {
			var str = 'afaafdff';

			var obj ={};											//定义一个obj对象
			//利用str.charAt(i)进行字符串截取  
			for(var i=0;i<str.length;i++){
				if(!obj[str.charAt(i)]){        //判断对象中是否有这个字符
					obj[str.charAt(i)] = 1;				//没有就保存一个
				}else{
					obj[str.charAt(i)]++;					//有的话就加一
				}
			}

			// 到了这里 obj就成了这样的
			// obj[f] = 4 
			// obj[a]= 2 
			// .....
			// 
			var time = 0;											//声明一个变量准备接受次数
			var index = '';										//声明一个变量准备接受字符
			
			//用打擂算法循环输出obj中保存的数据
			for(var i in obj){							 //i都代表着obj对象的键值(也就是字符)				
				if(obj[i]>time){

					time = obj[i];
					index = i;
					
					//运行下面一段程序 就可以清楚看到  每个字符出现的次数为几次 
					//ps注释掉上面的2句才行 否则后面出现少的次数就被多的给冲掉了
					// alert(i+'字符,出现了'+obj[i]+'次');   
				}
			}
			alert('次数'+time +',字符:'+index)
		}
	</script>
</head>
<body>
</body>
</html>
谢谢!


发布了47 篇原创文章 · 获赞 61 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/u011456552/article/details/52620517