JavaScript | 偶数と奇数を分けて、2つの配列を返す関数

JavaScript JavaScript
スポンサーリンク

では「偶数と奇数を分けて、2つの配列を返す関数」を一緒に作ってみましょう。
これは「複数の結果をまとめて返す」練習になります。


目標

  • 配列を順番に調べる
  • 偶数は evens 配列に、奇数は odds 配列に入れる
  • 最後に { evens, odds } の形で返す

✅ 模範解答(for文バージョン)

function splitEvenOdd(arr) {
  const evens = [];
  const odds = [];

  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 === 0) {
      evens.push(arr[i]);
    } else {
      odds.push(arr[i]);
    }
  }

  return { evens, odds };
}

// 実行例
console.log(splitEvenOdd([1, 2, 3, 4, 5, 6]));
// { evens: [2, 4, 6], odds: [1, 3, 5] }
JavaScript

✅ 模範解答(for…ofバージョン)

function splitEvenOdd(arr) {
  const evens = [];
  const odds = [];

  for (const num of arr) {
    if (num % 2 === 0) {
      evens.push(num);
    } else {
      odds.push(num);
    }
  }

  return { evens, odds };
}

console.log(splitEvenOdd([10, 11, 12, 13]));
// { evens: [10, 12], odds: [11, 13] }
JavaScript

✅ 模範解答(forEachバージョン)

function splitEvenOdd(arr) {
  const evens = [];
  const odds = [];

  arr.forEach(num => {
    if (num % 2 === 0) {
      evens.push(num);
    } else {
      odds.push(num);
    }
  });

  return { evens, odds };
}

console.log(splitEvenOdd([7, 8, 9, 10]));
// { evens: [8, 10], odds: [7, 9] }
JavaScript

💡 解説

  • for文 → インデックスを使えるので「何番目が偶数か」も分かる。
  • for…of文 → 値だけ扱いたいときにシンプルで読みやすい。
  • forEach → 全部処理するのに便利。途中で止める必要がないので相性が良い。

🔥 発展練習

  • 偶数と奇数ではなく「3の倍数」と「それ以外」に分ける
  • 文字列の配列を「長さが偶数の文字列」と「奇数の文字列」に分ける

タイトルとURLをコピーしました