ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 迭代器函数 ~~~ function makeIterator(arr){ let nextIndex = 0; //返回一个迭代器对象 return { next:()=>{ //next()方法返回的结果为对象 if(nextIndex<arr.length){ return {value:arr[nextIndex++],done:false} }else{ return {done:true} } } } } var arr=['吃饭','睡觉','工作'] var it = makeIterator(arr); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); ~~~ ## generator生成器 ~~~ function *generator(arr){ for(let i =0;i<arr.length;i++){ yield arr[i] } } var gen = generator(['吃饭','睡觉','工作']); console.log(gen.next()) console.log(gen.next()) console.log(gen.next()) console.log(gen.next()) ~~~ ~~~ //执行结果 {value: "吃饭", done: false} {value: "睡觉", done: false} {value: "工作", done: false} {value: undefined, done: true} ~~~