请写一个方法,用于查找一个字符串里面出现频率最高,最低的字母,并打印该字母及出现的次数。

var fun = function(str){
	console.log(str);
	var strArray = [],strObj = {};
	for(var i=0;i<str.length;i++) {
		//不相等  
        if( !strObj[str[i]] ){
            strObj[str[i]] = 1;
        }else{
            strObj[str[i]] += 1;
        }
	}
	 var maxChar = '',maxVal,maxArray = [] , minChar = '',minVal,minArray = [];
    for(var k in strObj) {
    	strArray.push(strObj[k]);
    }
    var max = Math.max.apply(null,strArray),
    	min = Math.min.apply(null,strArray);
    	for(var k in strObj) {
    		if(strObj[k] == max) {
    			var obj = {
    				maxChar:k,
    				maxVal:strObj[k]
    			}
    			maxArray.push(obj)
    		}else if (strObj[k] == min){
    			var obj = {
    				minChar:k,
    				minVal:strObj[k]
    			}
    			minArray.push(obj)
    		}
    	}
    console.log(maxArray);
    console.log(minArray);
}
fun("efndjjjffnn");

  

原文地址:https://www.cnblogs.com/shmily-code/p/7341713.html