ActionScript 3.0 で配列の出現回数をカウントしたい。私が持っていると言う
var item:Array = ["apples", "oranges", "grapes", "oranges", "apples", "grapes"];
一致する文字列の数を表示するにはどうすればよいですか? たとえば、結果: リンゴ = 2、オレンジ = 2 など。
別の同様の質問からこのコードを取得しました:
private function getCount(fruitArray:Array, fruitName:String):int {
var count:int=0;
for (var i:int=0; i<fruitArray.length; i++) {
if(fruitArray[i].toLowerCase()==fruitName.toLowerCase()) {
count++;
}
}
return count;
}
var fruit:Array = ["apples", "oranges", "grapes", "oranges", "apples", "grapes"];
var appleCount=getCount(fruit, "apples"); //returns 2
var grapeCount=getCount(fruit, "grapes"); //returns 2
var orangeCount=getCount(fruit, "oranges"); //returns 2
このコードでは、たとえば「リンゴ」の数を取得したい場合。アイテムごとに変数を設定する必要があります (var appleCount=getCount(fruit, "apples"))。しかし、何百、何千もの果物の名前がある場合、すべての果物に新しい変数を書き留めることはできません。
私はAS3にまったく慣れていないので、許してください。コードを理解したいので、コードに明確なコメントを含めてください。