2012年11月8日

CodeStudy 18-7 無名関数のこと

引き続き CodeStudy でJavascript を練習中です。
section 18-7 に正解できました。

問題
与えられた引数の平均を返す無名関数を作成し、変数aveに代入しましょう。
また、その結果を aveResult に代入し、それを output() で出力して下さい。


var ave = function(){
var sum = 0;
for(var i = 0; i < arguments.length; i++){
  sum += arguments[i];
}
return aveResult = sum / arguments.length;
}
var aveResult = ave(1, -5, 3, 8, -40, 200);
output(aveResult);



2行目 変数 sum は平均を出す際に、必要になる全ての要素の合計値。

3~4行目 for を使って、配列の全ての要素を合計しています。
  配列 ave の0番目から合計していくので、カウンタ変数 i は 0 から、
  繰り返す回数は、 .length プロパティで 配列の要素の数と同じだけ、
  配列の全ての要素を合計するので、カウンタ変数は 1づつ増やす。

6行目 全ての要素の合計値 sum を要素数のarguments.length で割れば平均が出ます。

前回同様 最後の行の output() はこのサイト内だけの練習用 メソッドだと思います。
複数の 引数をまとめて 配列で扱える arguments はとても便利で
他の場面でも活用できそうです。

0 件のコメント:

コメントを投稿