一、迭代器
迭代器用来遍历数组,对象等,具有next方法
手写迭代器
function createIterator(items) {
var i = 0
return {
next: function () {
if (i < items.length) {
done = false
}
else{
done = true
}
return {
value:items[i++],
done:done
}
}
}
}
arr = [1,2,3]
it = createIterator(arr)
console.log(it.next())
console.log(it.next())
console.log(it.next())
二、生成器
生成器用来往迭代器中增加元素,用yield关键字往迭代器中增加元素
生成器
function *createIterator(items) {
for(i=0;i<items.length;i++){
yield items[i]
}
}
arr = [1,2,3]
it = createIterator(arr)
console.log(it.next())
console.log(it.next())
console.log(it.next())