markdown イテレータ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown イテレータ相关的知识,希望对你有一定的参考价值。

// # iterableなオブジェクトを用意する
// iterableなオブジェクト
const iterable = {};

// iterableなオブジェクトはiteratorを持つ = [Symbol.iterator]()メソッドを実行するとiteratorを返す
iterable[Symbol.iterator] = () => {
  // iteratorオブジェクト
  const iterator = {};
  let count = 1;
  // iteratorオブジェクトは.next()メソッドを持つ
  // .next()メソッドを実行するとiteratorResultオブジェクトを返す
  iterator.next = () => {
    // iteratorResultオブジェクトは.valueプロパティと.doneプロパティを持っている
    // .valueプロパティはイテレータから取り出した値
    // .doneプロパティは値を取り出し終えたかの真偽値
    const iteratorResult = (count <= 10)
      ? {value: count++, done: false}
      : {value: undefined, done: true};
    return iteratorResult
  }
  return iterator;
}

// # iteratorから順番に値を取り出す
// iterableなオブジェクトからiteratorを取得する
const iterator = iterable[Symbol.iterator]();
let iteratorResult;

while(true) {
  // 順番に値を取り出す
  iteratorResult = iterator.next();
  // 取り出し終えたらbreak
  if(iteratorResult.done) break;
  console.log(iteratorResult.value);
}

// # for-ofを使う
for(let v of iterable) console.log(v);

/*
# iterableなオブジェクトの種類

* 配列
* 配列の.keys(), .entries()
* 文字列
* イテレータ自身
* ジェネレータ
* Arguments
* TypedArray
* Map
* Set

# iterableなオブジェクトの利用

* for-of
* 配列リテラル
* Array.from
* 引数渡し
* 分割代入
* Map
* Set
* WeakMap
* WeakSet

*/
JS-イテレータ
--------


A [Pen](https://codepen.io/taquaki/pen/mqpvga) by [Takaaki Sato](https://codepen.io/taquaki) on [CodePen](https://codepen.io).

[License](https://codepen.io/taquaki/pen/mqpvga/license).

以上是关于markdown イテレータ的主要内容,如果未能解决你的问题,请参考以下文章

ruby 二つの枚举を外部イテレーターの机能で突き合わせを行いマージする

markdown ジェネレータ

markdown ターミナル上でlogcat的を起动して指定のタグのみ出力

csharp 团结ネイティブプラグインショートコード

テレワーク可/田町MySQLサーバーリソースチェック/問い合わせ対応業務

text ランバート反射(ピクセルライティング)