神戸プログラミングアカデミーのブログ

「未経験から」「スキルアップ」「起業を目指す」無料で学べる神戸のプログラミング学校&学習コミュニティ

再起を使って配列を回す

再起を使って配列の全ての要素をコールバックで呼び返す、関数 forEachRecursive() を作成せよ

  • forやwhile文等のループ構文の使用を禁止する
  • コールバック内ではconsole.log(item)を実行し全ての要素を出力する

解答例

// 再起関数
function f(arr, i, callback) {
  callback(arr[i])
  if (arr.length > i + 1) {
    f(arr, i + 1, callback)
  }
}
// 再起的にforEachをする関数
function forEachRecursive(arr, callback) {
  f(arr, 0, callback)
}
const args = process.argv.slice(2)
forEachRecursive(args, (item) => {
  console.log(item)
})