では「配列とreturnを組み合わせた実践的な小課題」をいくつか用意しました。少し現実的なシチュエーションを想定しているので、練習しながら「関数で処理をまとめる」感覚をつかめます。
実践的な配列の練習問題
1. 平均点を計算する関数
- 問題: テストの点数が入った配列を受け取り、平均点を返す
averageScoreを作る。 - 解答例:
function averageScore(scores) {
let total = 0;
for (let i = 0; i < scores.length; i++) {
total += scores[i];
}
return total / scores.length;
}
console.log(averageScore([80, 90, 100])); // 90
JavaScript- 解説: 合計を出して要素数で割る。
returnで平均値を返す。
2. 合格者だけを抽出する関数
- 問題: 点数の配列を受け取り、60点以上の人だけを新しい配列にして返す
getPassListを作る。 - 解答例:
function getPassList(scores) {
let pass = [];
for (let i = 0; i < scores.length; i++) {
if (scores[i] >= 60) {
pass.push(scores[i]);
}
}
return pass;
}
console.log(getPassList([55, 70, 40, 90])); // [70, 90]
JavaScript- 解説: 条件に合う要素だけを
pushして返す。
3. 商品の合計金額を計算する関数
- 問題: 商品の価格が入った配列を受け取り、合計金額を返す
totalPriceを作る。 - 解答例:
function totalPrice(prices) {
let total = 0;
for (let i = 0; i < prices.length; i++) {
total += prices[i];
}
return total;
}
console.log(totalPrice([1200, 800, 600])); // 2600
JavaScript- 解説: 配列の合計を出す基本パターン。買い物の合計計算に応用できる。
4. 名前リストを整形する関数
- 問題: 名前の配列を受け取り、すべて大文字に変換して返す
formatNamesを作る。 - 解答例:
function formatNames(names) {
let result = [];
for (let i = 0; i < names.length; i++) {
result.push(names[i].toUpperCase());
}
return result;
}
console.log(formatNames(["taro", "hanako", "jiro"]));
// ["TARO", "HANAKO", "JIRO"]
JavaScript- 解説: 文字列のメソッド
toUpperCase()を利用。配列処理の基本練習にもなる。
5. 特定の文字を含む要素を探す関数
- 問題: 文字列の配列を受け取り、特定のキーワードを含む要素だけを返す
searchKeywordを作る。 - 解答例:
function searchKeyword(arr, keyword) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i].includes(keyword)) {
result.push(arr[i]);
}
}
return result;
}
console.log(searchKeyword(["apple", "banana", "grape"], "ap"));
// ["apple", "grape"]
JavaScript- 解説:
includes()で部分一致をチェック。検索機能の基礎になる。
✅ まとめ
- 配列を扱うときは「繰り返し処理」と「条件分岐」を組み合わせるのが基本。
returnで「最終的に欲しい結果」を返すことを意識すると、関数がわかりやすくなる。
