2016-11-20 5 views
0

私は開始するには角度2を使用しています。 私は言語のプロパティで配列を調べようとしています。 私は言語のそれぞれの異なる価値を数え、その数をその言語で表示したいと思います。私はこれらのそれぞれを別々にすることができますが、言語をより高いものから低いものに分類する必要があります。このhttp://jsfiddle.net/aQsuP/9/javascriptは配列内でプロパティの異なる値を見つけ、各値を数えます

var current = null; 
var cnt = 0; 
for (var i = 0; i < this.array_elements.length; i++) { 

    if (this.array_elements[i] != current) { 
     if (cnt > 0) { 
      document.write(current + ' comes --> ' + cnt + ' times<br>'); 
     } 
     current = this.array_elements[i]; 
     cnt = 1; 
    } else { 
     cnt++; 
    } 
} 
if (cnt > 0) { 
    document.write(current + ' comes --> ' + cnt + ' times'); 
} 

}

答えて

0

.sortに似 何かが()ソートを行います。これを使用するには、結果配列をオブジェクト配列にする必要があります。 このコードを試してください

var array_elements = ["a", "b", "c", "d", "e", "a", "b", "c", "f", "g", "h", "h", "h", "e", "a"]; 

    var arrayOfLetters =[]; 
    var arrayOfLetterObjects=[]; 

    for(var i=0;i<array_elements.length;i++) 
    { 
     if(arrayOfLetters.indexOf(array_elements[i])>-1) 
     { 

      //arrayOfLetterObjects.push({"letter": array_elements[i],"value":arrayOfLetterObjects.value+1}); 
      arrayOfLetterObjects[arrayOfLetters.indexOf(array_elements[i])].value+=1; 
     } 
     else 
     { 
      arrayOfLetters.push(array_elements[i]); 
      arrayOfLetterObjects.push({"letter": array_elements[i],"value":1}); 
     } 

     if(i==array_elements.length-1) 
     { 
      console.log(arrayOfLetterObjects.sort(function(a, b){ 

       return b.value - a.value; 

      })); 

     } 
    } 
+1

あなたのコードを説明すると、他の人がその答えを理解しやすくなります。 – Acapulco

+0

よく出来ています。ありがとうございます –

+0

@Acapuloありがとうございます。 –

関連する問題