**题目:** 请模拟实现 ES6 中的 [Generator 函数](https://www.runoob.com/w3cnote/es6-generator.html) ```js function generator(array) { // 你的代码 } ``` **测试数据:** ```js const arr = [ { name: '张三', age: 18 }, { name: '李四', age: 22 }, { name: '王五', age: 30 } ]; const it = generator(arr); console.log(it.next()); // {value: {age: 18, name: "张三"}, done: false} console.log(it.next()); // {value: {age: 22, name: "李四"}, done: false} console.log(it.next()); // {value: {age: 30, name: "王五"}, done: false} console.log(it.next()); // {value: undefined, done: true} ``` ---- **参考答案:** ```js function generator(array) { let nextIndex = 0; return { next: function() { return nextIndex < array.length ? {value: array[nextIndex++], done: false} : {value: undefined, done: true}; } } } ```
Activity
[-]第 31 期(CMAScript-作用域 闭包):模拟ES6 Generator[/-][+]第 31 期(ECMAScript-作用域 闭包):模拟ES6 Generator[/+]