JavaScript 创建一个Iterable对象
示例
var myIterableObject = {};
//Iterable对象必须定义位于theSymbol.iterator键上的方法:
myIterableObject[Symbol.iterator] = function () {
//迭代器应返回一个Iterator对象
return {
//Iterator对象必须实现一个方法next()
next: function () {
//下一个自身必须返回IteratorResult对象
if (!this.iterated) {
this.iterated= true;
//IteratorResult对象具有两个属性
return {
//迭代是否完成,以及
done: false,
//当前迭代的值
value: 'One'
};
}
return {
//迭代完成后,仅需要done属性
done: true
};
},
iterated: false
};
};
for (var c of myIterableObject) {
console.log(c);
}控制台输出
一