課題【練習問題(変数/関数/処理の流れ)】ーNo.007
課題内容
- <概要>
- 配列の長さの数だけ繰り返しを行います。
- 要素の長さの分だけ繰り返し、
- 配列の長さと合計を求めましょう。
- さらに、配列のそれぞれの値については、
- 特定の値以上か、確認しましょう。
- 最終的に特定の値以上の値の集計と、
- 特定の値未満の値の集計を表示させましょう。
- <要素の長さの取得>
- 要素の長さは、配列名.lengthでも取得できますが、
- その方法は使わず、
- 繰り返しの中で、
- 変数の値を加算(1ずつ増やして計算)してみましょう。
- <結果>
- 結果として、コンソールには、
- 配列の中の各値に関して、
- 特定の値(例えば5)の値と比較して、
- 「要素の値XXは、5以上です」
- 「要素の値XXは、5未満です」
- と表示させて、
- その後に、
- 「要素の長さはXXでした」
- 「要素の合計はXXでした」
- を表示してみましょう。
- さらに、
- 「5以上の値の要素の長さはXXでした」
- 「5以上の値の要素の合計はXXでした」
- 「5未満の値の要素の長さはXXでした」
- 「5未満の値の要素の合計はXXでした」
出力結果
例えば、
配列の値として、
let sampleList = [1,2,3,4,5,6,7,8,9];
という値を入れている配列を準備した場合は、
コンソールには、このように表示されます。
要素の値1は、5未満です
要素の値2は、5未満です
要素の値3は、5未満です
要素の値4は、5未満です
要素の値5は、5以上です
要素の値6は、5以上です
要素の値7は、5以上です
要素の値8は、5以上です
要素の値9は、5以上です
要素の長さは9でした
要素の合計は45でした
5以上の値の要素の長さは5でした
5以上の値の要素の合計は35でした
5未満の値の要素の長さは4でした
5未満の値の要素の合計は10でした
ポイント(繰り返し処理)
今回の課題では、
for文を使って繰り返し処理をおこないましょう。
繰り返すfor文の方法は、こちらの課題を参考にしましょう。
答え
// 値の入った配列を用意します。
// わかりやすく、1から順に値を入れています。
// 他の値を入れたときの動きも試しておきましょう。
let sampleList = [1,2,3,4,5,6,7,8,9];
//要素の長さのための変数
let lenSampleList = 0;
//要素の合計のための変数
let totalSampleList = 0;
//値が5以上の要素の合計のための変数
let lenCheckOver = 0;
let totalCheckOver = 0;
//値が5未満の要素の合計のための変数
let lenCheckLow = 0;
let totalCheckLow = 0;
// for文で10回の繰り返しをする
for(i=0;i<sampleList.length;i++) {
// 配列の要素について、特定の値と比較する
if(sampleList[i] >= 5) {
console.log('要素の値'+sampleList[i]+'は、5以上です');
//5以上の要素として集計する
lenCheckOver = lenCheckOver + 1;
totalCheckOver = totalCheckOver + sampleList[i];
}
else {
console.log('要素の値'+sampleList[i]+'は、5未満です');
//5未満の要素として集計する
lenCheckLow = lenCheckLow + 1;
totalCheckLow = totalCheckLow + sampleList[i];
}
// 長さのための変数に1加える
lenSampleList = lenSampleList + 1;
// 長さのための合計に配列の要素の値を加える
totalSampleList = totalSampleList + sampleList[i];
}
// コンソールに表示
console.log('要素の長さは'+lenSampleList+'でした');
console.log('要素の合計は'+totalSampleList+'でした');
console.log('5以上の値の要素の長さは'+lenCheckOver+'でした');
console.log('5以上の値の要素の合計は'+totalCheckOver+'でした');
console.log('5未満の値の要素の長さは'+lenCheckLow+'でした');
console.log('5未満の値の要素の合計は'+totalCheckLow+'でした');