//使用@@iterator对象可以创造一个迭代器, let iterator = number[Symbol.iterator]();
// console.log(iterator.next().value);
function createIterator(items){
var i = 0;
return {
next:function(){
var done = (i>=items.length);
var value = !done ? items[i++]:undefined;
return { done: done, value: value };
}
}
}
var iterator= createIterator([1,2,3])
console.log(iterator.next()) // "{ value: 1, done: false }"
console.log(iterator.next()) // "{ value: 2, done: false }"
console.log(iterator.next()) // "{ value: 3, done: false }"
console.log(iterator.next()) // "{ value: undefined, done: true }"
//之后重复调用返回一样的结果。
console.log(iterator.next()) // "{ value: undefined, done: true }"
ES5手写一个迭代器(iterator)
最新推荐文章于 2024-03-13 10:06:00 发布