markdown イテレータ Posted 2021-05-06
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 ランバート反射(ピクセルライティング)