class iterator {
constructor() {
this.data = [1, 2, 3, 4, 5, 6, 7, 8, 9];
}
[Symbol.iterator]() { // 初始化
this.index = this.data.length - 1;
return this;
}
next() { // 迭代需要返回元素值value以及是否已完成done
if (this.index < 0) {
return { value: this.data[this.index--], done: true };
}
return { value: this.data[this.index--], done: false };
}
}
var a = new iterator();
for (var i of a) {
console.log(i);
}
for (var i of a) {
console.log(i);
}
利用ES6的iterator接口生成自定义可遍历对象
猜你喜欢
转载自blog.csdn.net/weixin_39181833/article/details/81045655
今日推荐
周排行