// 直接上程式碼
function lterator () {
let arr = [0, 1]
let index = 0
return {
next () {
if (arr[index] === undefined) {
arr.push(arr[index-1] + arr[index-2])
}
let value = arr[index]
index++
return value
}
}
}
let lt = lterator()
lt.next() // 0
lt.next() // 1
lt.next() // 1
lt.next() // 2
lt.next() // 3
lt.next() // 5
lt.next() // 8
lt.next() // 13
lt.next() // 21
lt.next() // 34
...
複製程式碼
迭代器:
迭代器是惰性的,不像普通for迴圈,迭代器可以一直next()下去,開發者不用關心迭代器程式碼塊中的內容,只需關心拿到返回的結果
斐波那契:
斐波那契數列,又稱黃金分割數列。數列特點是前兩項等於之和等於後一項