zoukankan      html  css  js  c++  java
  • 获取在一个数组中出现最多的字符及其所在的位置

    获取在一个数组中出现最多的字符、个数及其所在的位置

    <!DOCTYPE html>
    <html>
    <head>
    	<title>一个数组中,出现次数最多的字符,及其位置</title>
    </head>
    <body>
         <script type="text/javascript">
         	var arr=["a","x","b","d","m","a","k","m","p","j","a"];
         	var str="what are you";  
    
         	//找出出现次数最多的字符。及其次数
         	function unique(str){
         		var obj={}; //存储出现的次数
         		var objIndex=[];
         		for(var i=0;i<str.length;i++){
         			var key=str[i];
         			if(obj[key]){ //判断这个键值对中有没有这个值
                       obj[key]++;           
         			}else{
         				obj[key]=1;
         			}
         		}
    
         		//找出出现最多的次数的字符
         		var maxCount=0;
         		var maxString="";
         		for(var key in obj){
                   if(maxCount<obj[key]){
                      maxCount=obj[key];
                      maxString=key;
                   }
         		}
         		return "该字符"+maxString+"出现了"+maxCount+"次;";
         	}
         	unique(str);
         	console.log(unique(arr));  
    
         	//找出出现次数最多的字符,及其位置
         	function getMaxAndIndex(arr){
    			//var arr=str.split('')
    			//console.log(arr)
    	        var obj = {};
    	        arr.forEach(function(item,index){
    	            if(!obj[item]){
    	                obj[item]= {indexs: [index]}
    	            }else{
    	                obj[item]['indexs'].push(index);
    	            }
    	        });
    	        var num=0;//记录出现次数最大值
    	        var str1='';//记录出现次数最多的字符
    	        var reArr;//返回最大值的位置数组
    	        for(var attr in obj){
    	            var temp=obj[attr]['indexs'];
    	            if(temp.length>num){
    	                num=temp.length;
    	                str1=attr;
    	                reArr=temp;
    	            }
    	        }
    	        return {
    	            maxStr:str1,
    	            indexs:reArr
    	        }
    	    }	
         	var result=getMaxAndIndex(arr);
         	console.log(result);
         </script>
    </body>
    </html>
    

      

  • 相关阅读:
    我罗斯方块最终篇
    我罗斯汇报作业一
    11组-Alpha冲刺-2/6
    11组-Alpha冲刺-1/6
    结对编程作业
    11组 团队展示
    第一次个人编程作业
    第一次博客作业
    寒假作业3
    寒假作业2
  • 原文地址:https://www.cnblogs.com/karila/p/7103691.html
Copyright © 2011-2022 走看看