はじめに
この実験では、JavaScript の times() 関数を調べます。この関数は、コールバック関数を指定回数だけ反復実行し、または false を返すまで実行します。この関数を使って関数を繰り返し実行する方法と、コールバック関数に引数を渡す方法を学びます。この実験が終了するとき、times() 関数を使ってコードを効率的かつ簡潔にする方法を十分に理解しているでしょう。
コード演習:N 回反復
コーディングの練習のために、ターミナル/SSH を開き、node と入力します。その後、次の関数を使ってコールバック関数を n 回反復させます:
const times = (n, fn, context = undefined) => {
let i = 0;
while (fn.call(context, i) !== false && ++i < n) {}
};
この関数を使うには、times() を呼び出して次の引数を渡します:
n:コールバック関数を反復実行する回数fn:反復実行するコールバック関数context(省略可能):コールバック関数に使用するコンテキスト(指定しない場合、非厳密モードではundefinedオブジェクトまたはグローバルオブジェクトが使用されます)
以下は、times() 関数を使う方法の例です:
var output = "";
times(5, (i) => (output += i));
console.log(output); // 01234
これは、コールバック関数 i => (output += i) を 5 回反復させ、出力を output 変数に格納します。その後、出力がコンソールにログ表示され、01234 が表示されます。
まとめ
おめでとうございます!「N 回反復」の実験を完了しました。スキルを向上させるために、LabEx でさらに多くの実験を練習できます。