JavaScript ジェネレータを探索する:循環配列反復処理

JavaScriptJavaScriptBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、JavaScript におけるジェネレータの概念を探り、配列を無限にループするサイクルジェネレータを作成する方法を学びます。ジェネレータを作成するために yield キーワードと while ループを使用し、その後、さまざまな配列でテストしてその機能を確認します。この実験が終了するとき、ジェネレータとそれが JavaScript プロジェクトでどのように使用できるかについて、より深い理解を得ることができます。

サイクルジェネレータの使い方

コーディングの練習を始めるには、ターミナル/SSH を開いて node と入力します。その後、与えられた配列を無限にループするジェネレータを作成します。以下が手順です。

  1. 非終了の while ループを使用し、Generator.prototype.next() が呼び出されるたびに値を yield します。
  2. Array.prototype.length とモジュロ演算子 (%) を使用して、次の値のインデックスを取得し、各 yield ステートメントの後でカウンタをインクリメントします。

以下は cycleGenerator 関数の例です。

const cycleGenerator = function* (arr) {
  let i = 0;
  while (true) {
    yield arr[i % arr.length];
    i++;
  }
};

次に、この関数を以下のように使用できます。

const binaryCycle = cycleGenerator([0, 1]);
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }

これらの指示に従えば、任意の配列を無限にループするサイクルジェネレータを作成できます。

まとめ

おめでとうございます!サイクルジェネレータの実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。