Find the most characters and number in a string

  • Method 1: Through the reduce method
      let val = "sdaweedassxcvrf";
      let valArr = val.match(/./g);
      console.log(valArr);
      let obj = valArr.reduce(function (a, b) {
    
    
        if (b in a) {
    
    
          a[b] += 1;
        } else {
    
    
          a[b] = 1;
        }
        return a;
      }, {
    
    });
      let c = 0;
      let d = "";
      for (i in obj) {
    
    
        c = Math.max(obj[i], c);
        if (obj[i] === c) {
    
    
          d = i;
        }
      }
      console.log("最多字符为:" + d, "数量是:" + c);
  • Method 2: Sort by sort
   var str = 'asdfssaaasasasasaa';
   var heh= str.split('').sort((a,b)=>{
    
    
      return a.localeCompare(b)
        })
   var xx=  heh.join('').match(/(.)\1+/g)
   var xxx=   xx.map(x=>{
    
    
      return {
    
    
        title:x.slice(0,1),
        length:x.length
      }
     }).sort(function(a,b){
    
    
          return b.length-a.length
        })
        console.log('出现最多得字符是:'+xxx[0].title+"次数是:"+xxx[0].length)
  • The third method: charAt
var str = 'asdfssaaasasasasaa';
var json = {
    
    };
for (var i = 0; i < str.length; i++) {
    
    
    if(!json[str.charAt(i)]){
    
    
       json[str.charAt(i)] = 1;
    }else{
    
    
       json[str.charAt(i)]++;
    }
};
var iMax = 0;
var iIndex = '';
for(var i in json){
    
    
    if(json[i]>iMax){
    
    
         iMax = json[i];
         iIndex = i;
    }
}        
console.log('出现次数最多的是:'+iIndex+'出现'+iMax+'次');

Guess you like

Origin blog.csdn.net/weixin_45176415/article/details/105363175