9-ES6之迭代器
阿新 • • 發佈:2020-09-12
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>