JSは2種類の統計文字を分析して重さを取り除く方法


1つ目:方法



    
    Document
    


    
// , {a:?, b:?, c:?, d:?} var str = "jshacguadsadadasdwhdagjsdgauids"; var obj = {}; // obj // :↓↓↓ // obj.a ? // a, 1 // obj.a ? // a ++ // obj.b ? // b, 1 // obj.c ? // c, 1 // obj.c ? // c ++ for(var i=0;i<str.length;i++){ // if(obj[str[i]]){ obj[str[i]]++; }else{ // obj str[i] , +, else , obj[str[i]] = 1; //else , , , obj[str[i]] 1, i( , ) , ? obj[str[i]] 1 , obj , if true 2, ++ } // ? str[i] a ,obj[str[i]]=obj[a] ? obj[a] underfind , else obj[a] , obj[a]=1; a ? 1 , if true, 。 } console.log(obj); // , abcd // key var sumStr = ""; for(var i in obj){ sumStr += i; } console.log(sumStr);

零碎知识补充:
格式:
var str = [];
var obj = { }
obj[str[i]]
总结:对象里取一个变量数组的值,这时要用[]去解析。

第二种:方法

 
 
   
     
          
   
   
   
      var str="aabbbbccd"; 
      var sum=[];               //    
      var res=[];                //    
      var count=0; 
      var arr=str.split("");    //      
      for(var i=0;i<arr.length;i++){ 
          if(res.indexOf(arr[i])==-1){ //     ,     ,     ,  res  
            res.push(arr[i]); 
          } 
      } 
      for(var i=0;i<res.length;i++){ 
          for(var j=0;j<arr.length;j++){ //res[i]     arr[j]      
            if(arr[j]==res[i]){ 
              count++;                //   ,    
            } 
          } 
        sum.push(count);              //sum      
        count=0;                       //           
      } 
      // console.log(res);             //     
      for(var i=0;i<res.length;i++){ 
          console.log(res[i]+"   "+sum[i]+" ");  //  
      } 
   
   


これは私はそんなに多く言わないで、比较的に简単で、后ろにプラスする注釈を见て理解することができます