es6的迭代器和生成器示例
迭代器和生成器是ES6中的两个新特性,它们可以帮助我们更方便地处理和操作数据。
- 迭代器示例:
// 创建一个迭代器函数
function createIterator(arr) {
let nextIndex = 0;
return {
next: function() {
return nextIndex < arr.length
? { value: arr[nextIndex++], done: false }
: { done: true };
}
};
}
// 使用迭代器遍历数组
const iterator = createIterator(['a', 'b', 'c']);
console.log(iterator.next()); // { value: 'a', done: false }
console.log(iterator.next()); // { value: 'b', done: false }
console.log(iterator.next()); // { value: 'c', done: false }
console.log(iterator.next()); // { done: true }
- 生成器示例:
// 使用生成器函数生成一个简单的计数器
function* counter() {
let count = 0;
while (true) {
yield count++;
}
}
// 使用生成器生成无限序列
const iterator = counter();
console.log(iterator.next().value); // 0
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2
console.log(iterator.next().value); // 3
// ...
这些示例展示了如何使用迭代器和生成器来遍历数组和生成无限序列。迭代器可以手动控制遍历过程,而生成器则可以自动产生序列。在实际应用中,迭代器和生成器可以更方便地处理复杂的数据结构和异步操作
原文地址: https://www.cveoy.top/t/topic/hNG1 著作权归作者所有。请勿转载和采集!