ホームページ  >  記事  >  ウェブフロントエンド  >  ES6のIteratorインターフェースのコード例解説

ES6のIteratorインターフェースのコード例解説

不言
不言転載
2018-10-29 15:18:201977ブラウズ

この記事の内容は、ES6 の Iterator インターフェイスのコード例を説明するものです。必要な方は参考にしていただければ幸いです。

es6 では、特定のデータ構造 (配列オブジェクト マップ セット) を操作するときに、統一されたメソッドを使用して操作するにはどうすればよいですか?

1 .配列のイテレータのアプリケーション

{
    let arr = ['hello', 'world'];
    // 数组内部实现了iterator接口,所以直接调用[Symbol.iterator]()
    let map = arr[Symbol.iterator]();
    console.log(map.next()); // {value: "hello", done: false}
    console.log(map.next()); // {value: "world", done: false}
    console.log(map.next()); // {value: undefined, done: true}
    // value 表示数组元素,done表示循环是否有下一步状态,true:没有下一步了,false:循环没有结束
}

2。カスタマイズされたイテレータ インターフェイス

{
    // object没有内置iterator接口,自定义iterator接口,让obj也可以使用for...of
    let obj = {
        start: [1,2,3],
        end: [4,5,6],
        // 声明iterator接口方法
        [Symbol.iterator]() {
            // 先遍历start,再遍历end
            let arr = this.start.concat(this.end);
            let index = 0;
            // 返回next()
            return {
                next() {
                    if (index <p><strong>3.for...of ループ</strong> </p><pre class="brush:php;toolbar:false">{
    // 数组内部实现了iterator接口,所以可以直接使用for...of循环
    let arr = ['hello', 'world'];
    for (let value of arr) {
        console.log(value); // hello world
    }
}








【ES6 入門 13】:イテレータ

ES6のIteratorインターフェースのコード例解説フロントエンド

es6

javascript

14 回読まれました                                                             読むのに 6 分かかります                                          



#                                                                                 

                                                                                                                                                                                                                                                                                                                                                                                 

#es6 では、特定のデータ構造 (配列オブジェクト マップ セット) を操作する場合、統一されたメソッドで操作するにはどうすればよいですか?1. 配列でのイテレーターの適用

{
    let arr = ['hello', 'world'];
    // 数组内部实现了iterator接口,所以直接调用[Symbol.iterator]()
    let map = arr[Symbol.iterator]();
    console.log(map.next()); // {value: "hello", done: false}
    console.log(map.next()); // {value: "world", done: false}
    console.log(map.next()); // {value: undefined, done: true}
    // value 表示数组元素,done表示循环是否有下一步状态,true:没有下一步了,false:循环没有结束
}
2. カスタマイズされたイテレーター インターフェイス
{
    // object没有内置iterator接口,自定义iterator接口,让obj也可以使用for...of
    let obj = {
        start: [1,2,3],
        end: [4,5,6],
        // 声明iterator接口方法
        [Symbol.iterator]() {
            // 先遍历start,再遍历end
            let arr = this.start.concat(this.end);
            let index = 0;
            // 返回next()
            return {
                next() {
                    if (index <p class="article fmt article__content">3.for.. .of ループ<br></p><pre class="brush:php;toolbar:false">{
    // 数组内部实现了iterator接口,所以可以直接使用for...of循环
    let arr = ['hello', 'world'];
    for (let value of arr) {
        console.log(value); // hello world
    }
}

# #############報告################################ ####

#興味があるかもしれません
  • ES6のIteratorインターフェースのコード例解説

  • # ##############コメント###                                                                                            時間順に並べ替え

  • 読み込み中...

コメントをさらに表示

以上がES6のIteratorインターフェースのコード例解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。