自定义可迭代对象:
除了内置的可迭代对象,我们还可以自定义对象的迭代行为,使其具备可迭代的能力。
示例:
// 自定义可迭代对象示例
let range = {
start: 1,
end: 5,
[Symbol.iterator]() {
let current = this.start;
return {
next: () => {
if (current <= this.end) {
return { value: current++, done: false };
} else {
return { value: undefined, done: true };
}
}
};
}
};
for (let num of range) {
console.log(num);
}
// 输出:
// 1
// 2
// 3
// 4
// 5
在上面的示例中,我们定义了一个自定义可迭代对象range,并实现了Symbol.iterator方法来返回一个迭代器对象。通过迭代器对象的next()方法,我们实现了从start到end的递增序列的迭代。
迭代器的优势和应用场景:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。