2012年11月6日

CodeStudy 18-4 配列のこと(昨日の続き)


昨日の続きで、Javasctipt 学習サイト CodeStudy に挑戦していました。
こんな風に書いてみたら、とりあえず正解になりました。

function max(){
  var result = arguments[0];
  for(var i = 1; i < arguments.length; i++){
    if(result < arguments[i]){
      result = arguments[i];
    }
  }
  return result;
}
var maxValue = max(8, 100, 20, -6, 8000, 29, 68);
output(maxValue);

2行目で、変数 result に配列の 0番目(この場合 8 )を暫定の最大として代入。

3行目の for で、4行目からの if を 配列の要素の数と同じだけ繰り返す。
  配列の 0番目が 既に暫定の最大としているので、カウンタの始まりは 1から、
 繰り返す回数は、.length で配列の要素の数と同じだけ、
 i++ で 1づつ増やして配列の全ての要素を判定する。

4行目からの if は配列の添字にカウンタ変数 [i] を使って(この場合は 1~6)順番に暫定の最大と比較して、大きければ、新たな暫定の最大として 変数 result に代入。
繰り返しが 終わった時点で resultに代入されているのが 最終的に勝ち残った最大値ということになるので、その値をreturn で返す。

で、良いと思います。
最後の行の output() は、このサイト内だけの 練習用のメソッド だと思います。

0 件のコメント:

コメントを投稿