配列から最大値を検索する
10個の配列に適当な数値(0以上)が入っています。ここから最大の数値を検索するプログラムが下記になります。新規でプログラムを作成し、下記を入力するかコピーしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<meta charset="UTF-8"> <script type="text/javascript"> //数値の配列 var num = [10,33,100,3,2,5,76,124,777,1]; //最大値格納用変数。初期値をマイナスとしておく var Max = -1; //配列の個数分ループを行う for(var idx = 0;idx < num.length;idx = idx + 1){ if( num[idx] > Max ){ //配列の値が最大値か? Max = num[idx]; //最大値の値を更新する } } window.alert("最大値は"+Max+"です。"); </script> |
マスターしたループ(繰り返し)やif命令があります。プログラムを眺めながら動きを確認してください。ポイントは9行目の変数Maxに初期値-1を設定するところです。変数Maxは最大値が格納されますので、最初は絶対に最大にならない-1を設定しておきます。
9 |
var Max = -1; |
次のポイントは14行目~16行目です。配列の個数分ループしていますので、その都度配列の値と変数Max(最大値)を比較します。そして最大値(変数Max)の値より配列の値が大きい場合に最大値を更新します。
14 15 16 |
if( num[idx] > Max ){ //配列の値が最大値か? Max = num[idx]; //最大値の値を更新する } |
残額を求める
スーパーで買い物をしました。商品毎の購入金額は配列に格納されています。所持金は2,000円でした。残金を計算するプログラムが下記になります。新規でプログラムを作成し、下記を入力するかコピーしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<meta charset="UTF-8"> <script type="text/javascript"> var kin = [100,120,200,80,500,220,300]; var kei = 0; var i; //配列の個数分ループを行う for(i=0; i<kin.length; i=i+1){ kei = kei + kin[i]; //金額の合計を計算 } document.write("残高は" + (2000-kei) +"円です<BR>"); </script> |
プログラムの動きがつかめない場合は変数の値を変えたり条件を変更したりしながら、理解を深めていってください。次のチャレンジには難題を用意していますので、ぜひ挑戦してみてください。