"迭代器和生成器是ES6中的两个新特性,它们可以帮助我们更方便地处理和操作数据。\n\n1. 迭代器示例:\n\njavascript\n// 创建一个迭代器函数\nfunction createIterator(arr) {\n let nextIndex = 0;\n\n return {\n next: function() {\n return nextIndex < arr.length\n ? { value: arr[nextIndex++], done: false }\n : { done: true };\n }\n };\n}\n\n// 使用迭代器遍历数组\nconst iterator = createIterator(['a', 'b', 'c']);\nconsole.log(iterator.next()); // { value: 'a', done: false }\nconsole.log(iterator.next()); // { value: 'b', done: false }\nconsole.log(iterator.next()); // { value: 'c', done: false }\nconsole.log(iterator.next()); // { done: true }\n\n\n2. 生成器示例:\n\njavascript\n// 使用生成器函数生成一个简单的计数器\nfunction* counter() {\n let count = 0;\n\n while (true) {\n yield count++;\n }\n}\n\n// 使用生成器生成无限序列\nconst iterator = counter();\nconsole.log(iterator.next().value); // 0\nconsole.log(iterator.next().value); // 1\nconsole.log(iterator.next().value); // 2\nconsole.log(iterator.next().value); // 3\n// ...\n\n\n这些示例展示了如何使用迭代器和生成器来遍历数组和生成无限序列。迭代器可以手动控制遍历过程,而生成器则可以自动产生序列。在实际应用中,迭代器和生成器可以更方便地处理复杂的数据结构和异步操作。

ES6 迭代器和生成器:示例与应用

原文地址: https://www.cveoy.top/t/topic/pwLW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录