ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Flash Action Scriptコミュの皆さんのお知恵を拝借

  • mixiチェック
  • このエントリーをはてなブックマークに追加
私、現在アクションスクリプト3.0を学んでいるのですが、compare関数で
どうしても下の式が分からないのです泣き顔。

var numbers=new Array(1, 6, 100, 60, 9, 10, 200);
numbers.sort(compare); //←比較関数を使用して並び替え
for (var i:int = 0; i < numbers.length; i++) {
trace(numbers[i]);
}

function compare(a:Number, b:Number):int{
if ((a - b) > 0) {
return 1; //←aの方が大きいとき「1」を戻す
} else if ((a - b) == 0){
return 0; //←aとbが同じ場合は「0」を戻す
} else {
return -1; //←aの方が小さい場合には「-1」を戻す。
}
}

このaとbの値で戻り値をだして数字の配列の並び替えを行っているのですが
なぜこのa,bで配列を操作できるのでしょうか?



コメント(1)

比較関数compareは、比較しているだけです。
その結果によって、交換するか、何もしないかの判断基準となる
値を返しているだけです。
実際に並べ替えをしているのは、sort()メソッドの処理です。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash Action Script 更新情報

Flash Action Scriptのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。