1. 程式人生 > 實用技巧 >9-ES6之迭代器

9-ES6之迭代器

Iterator

Iterator 是 ES6 引入的一種新的遍歷機制,迭代器有兩個核心概念:

  • 迭代器是一個統一的介面,它的作用是使各種資料結構可被便捷的訪問,它是通過一個鍵為Symbol.iterator 的方法來實現。
  • 迭代器是用於遍歷資料結構元素的指標(如資料庫中的遊標)。

迭代過程

迭代的過程如下:

  • 通過 Symbol.iterator 建立一個迭代器,指向當前資料結構的起始位置
  • 隨後通過 next 方法進行向下迭代指向下一個位置, next 方法會返回當前位置的物件,物件包含了 value 和 done 兩個屬性, value 是當前屬性的值, done 用於判斷是否遍歷結束
  • 當 done 為 true 時則遍歷結束
    <script>
        //Iterator是一種新的遍歷機制,兩個核心
        //1.迭代器是一個介面,能快捷的訪問資料,通過symbol,iterator來建立迭代器
        //2.迭代器是用於遍歷資料結構的指標
        const item = ["one","two"];
        const ite =item[Symbol.iterator]();
        console.log(ite.next());//done如果為true是表示迭代完成
        console.log(ite.next());
        console.log(ite.next());//當迭代器完成以後value變為undefined;done為true
    </script>