Iterator 迭代器 2020-06-20
2020-06-20 本文已影响0人
Allan要做活神仙
Iterator 函数返回一个对象,它实现了遗留的迭代协议,并且迭代了一个对象的可枚举属性。
非标准。
**Iterator**
函数是一个 SpiderMonkey 专有特性,并且会在某一时刻被删除。为将来使用的话,请考虑使用for...of
循环和 迭代协议。
function makeIterator(array){
var nextIndex = 0;
return {
next: () => nextIndex < array.length ? {value: array[nextIndex++], done: false}:{done: true}
};
}
let a = makeIterator(['a', 'p', 'p', 'l', 'e']);
a1.next();
a1.next();
a1.next();
利用Generator函数和for...of循环,实现有限的斐波那契数列数组
function* fibonaqi(){
let [pre,cur] = [1,1];
for(;;){
[pre,cur] = [cur,cur+pre];
yield cur;
}
}
let arr=[1,1];
for(let n of fibonaqi()){
if(n >1000){
break;
}
arr.push(n)
}
console.log(arr)