js - 獲取字符串出現最多的字符和次數


方法一:

  /**
       * @param {String}str 只接受字符串類型
       * @return{JSON} key:出現最多字符, value:出現次數;  數組類型不是String類型,則返回空對象
       **/
    function getMax(str){
    	let hash = {};
    	let num = 0;
    	let json = {}; //返回的對象
    	//判斷是否是字符串
    	if(Object.prototype.toString.call(str) != "[object String]") {
    		return json;
    	}
    	for(let i = 0; i < str.length; i++){
    		if(hash[str[i]] === undefined){
    			hash[str[i]] = 1
    		}else{
    			hash[str[i]]++
    		}
    	}
    	for(let item in hash){
    		if(num < hash[item]){
    			num = hash[item]
    			json = {"字符": item, "次數": hash[item]}
    		}
    	}
    	return json;
    }

方法二:

function getMax(str){
       	 let obj = {};
       	 let num = 0;
       	 let letter = '';
       	 for(let i = 0; i < str.length; i++){
       	 	if(obj[str[i]]){
       	 		obj[str[i]]++;
       	 		if(num < obj[str[i]]){
       	 			num = obj[str[i]];
       	 			letter = str[i]
       	 		}
       	 	}else{
       	 		obj[str[i]] = 1;
       	 	}
       	 }
       	 
       	 return letter + ':' + num
       }

方法三:

var s = 'aaabbbcccaaabbbaaabbbbbbbbbb';
	   var a = s.split('');
	   a.sort();
	   s = a.join('');
	   var pattern = /(\w)\1*/g;
	   var ans = s.match(pattern);   
	   ans.sort(function(a, b) {
	       return b.length - a.length;
	    });
	   console.log(ans);
	   console.log(ans[0][0] + ': ' + ans[0].length);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM