JavaScript ES6 構文のイテレータと for...of ループの詳細な例

黄舟
リリース: 2017-10-25 09:33:25
オリジナル
1487 人が閲覧しました

Iterator

Iteratorはそんな仕組みです。これは、さまざまなデータ構造に統一されたアクセス メカニズムを提供するインターフェイスです。データ構造が Iterator インターフェイスをデプロイしている限り、トラバーサル操作を完了できます (つまり、データ構造のすべてのメンバーを順番に処理します)。

機能:

  • さまざまなデータ構造に統合されたシンプルなアクセスインターフェイスを提供します

  • データ構造のメンバーを特定の順序で配置できるようにします

  • ES6は新しいトラバーサルを作成します コマンドfor...of ループ、Iterator インターフェースは主に for...of の消費に使用されますfor...of循环,Iterator接口主要供for...of消费

Iterator的遍历过程:

(1)创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器对象本质上,就是一个指针对象。

(2)第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员。

(3)第二次调用指针对象的next方法,指针就指向数据结构的第二个成员。

(4)不断调用指针对象的next方法,直到它指向数据结构的结束位置。

在ES6中,有三类数据结构原生具备Iterator接口:数组、某些类似数组的对象、Set和Map结构。

可以覆盖原生的Symbol.iterator

Iterator 走査プロセス:

(1) 作成現在のデータ構造の先頭を指すポインター オブジェクト。言い換えれば、トラバーサー オブジェクトは本質的にはポインター オブジェクトです。

(2) ポインター オブジェクトの next メソッドを初めて呼び出すときに、ポインターをデータ構造の最初のメンバーに指すことができます。

(3) ポインター オブジェクトの next メソッドが 2 回目に呼び出されるとき、ポインターはデータ構造の 2 番目のメンバーを指します。 🎜🎜(4) データ構造の終わりを指すまで、ポインター オブジェクトの next メソッドを呼び出し続けます。 🎜🎜 ES6 には、ネイティブに Iterator インターフェイスを持つ 3 種類のデータ構造があります: 配列、特定の配列のようなオブジェクト、Set および Map 構造です。 🎜🎜ネイティブの Symbol.iterator メソッドをオーバーライドして、イテレータの動作を変更できます。 🎜🎜for...of🎜🎜for...of ループは、配列、Set および Map 構造、特定の配列のようなオブジェクト (arguments オブジェクト、DOM NodeList オブジェクトなど)、後述の Generator オブジェクト、および文字列で使用できます。 。 🎜🎜🎜🎜りー

以上がJavaScript ES6 構文のイテレータと for...of ループの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!