文章目录
手写迭代器
function creatIterator(items){
let i=0;
return{
next:function (){
let done=(i>items.length)
let value=!done?items[i++]:undefined
return{
value,
done
}
}
}
}
let iterator=createIterator([1,2,3,4,5])
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
// { done: false, value: 1 }
// { done: false, value: 2 }
// { done: false, value: 3 }
// { done: false, value: 4 }
// { done: false, value: 5 }
// { done: true, value: undefined }