迭代器
背景知識
- 什麼是迭代?
從一個資料集合中按照一定的順序,不斷取出資料的過程
- 迭代和遍歷的區別?
迭代強調的是依次取資料,並不保證取多少,也不保證把所有的資料取完
遍歷強調的是要把整個資料依次全部取出
- 迭代器
對迭代過程的封裝,在不同的語言中有不同的表現形式,通常為物件
- 迭代模式
一種設計模式,用於統一迭代過程,並規範了迭代器規格:
- 迭代器應該具有得到下一個資料的能力
- 迭代器應該具有判斷是否還有後續資料的能力
JS中的迭代器
JS規定,如果一個物件具有next方法,並且該方法返回一個物件,該物件的格式如下:
{value: 值, done: 是否迭代完成}
則認為該物件是一個迭代器
含義:
- next方法:用於得到下一個資料
- 返回的物件
- value:下一個資料的值
- done:boolean,是否迭代完成