はじめに
この実験では、JavaScript の unfold()
関数を調べます。この関数を使うと、初期の種値を使ってイテレータ関数を繰り返し呼び出して配列を作成できます。関数が false
を返すまで続けます。この実験を通じて、unfold()
関数の使い方と、特定のプログラミングタスクを簡略化するためにどのように使えるかを学びます。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScript の unfold()
関数を調べます。この関数を使うと、初期の種値を使ってイテレータ関数を繰り返し呼び出して配列を作成できます。関数が false
を返すまで続けます。この実験を通じて、unfold()
関数の使い方と、特定のプログラミングタスクを簡略化するためにどのように使えるかを学びます。
イテレータ関数と初期の種値を使って配列を作成するには、次の手順に従います。
node
と入力します。while
ループと Array.prototype.push()
を使って、イテレータ関数を false
を返すまで繰り返し呼び出します。seed
) を受け取り、常に 2 つの要素を持つ配列 ([value
, nextSeed
]) または終了するための false
を返す必要があります。unfold
関数を実装するには、次のコードを使います。
const unfold = (fn, seed) => {
let result = [],
val = [null, seed];
while ((val = fn(val[1]))) result.push(val[0]);
return result;
};
ここでは、unfold
関数を使う方法の例を示します。
var f = (n) => (n > 50 ? false : [-n, n + 10]);
unfold(f, 10); // [-10, -20, -30, -40, -50]
これにより、初期の種値 10
から始まるイテレータ関数 f
によって生成される値を持つ配列が生成されます。イテレータ関数は各ステップで 2 つの要素を持つ配列を生成します。現在の種値の否定と、10 だけ増加する次の種値です。種値が 50 を超えるまでこのプロセスが続き、その時点で関数は false
を返します。
おめでとうございます!「配列を展開する」実験を完了しました。技術力を向上させるために、LabEx でさらに多くの実験を行って練習してください。