JavaScript | Generator.prototype.next() 方法
Generator.prototype.next()方法是 JavaScript 中的内置方法,用于返回具有 done 和 value 两个属性的对象。
句法:
gen.next( value );
参数:此函数接受如上所述和如下所述的单个参数:
- value:此参数保存要发送到生成器的值。
返回值:该方法返回一个包含两个属性的对象:
- 完成:它具有价值
- true - 对于经过迭代序列末尾的迭代器。
- false – 对于能够产生序列中下一个值的迭代器。
- value:它包含迭代器返回的任何 JavaScript 值。
下面的示例说明了 JavaScript 中的 Generator.prototype.next() 方法:
示例 1:
function* GFG() {
yield "GeeksforGeeks";
yield "JavaScript";
yield "Generator.prototype.next()";
}
const geek = GFG();
console.log(geek.next());
console.log(geek.next());
console.log(geek.next());
console.log(geek.next());
输出:
Object { value: "GeeksforGeeks", done: false }
Object { value: "JavaScript", done: false }
Object { value: "Generator.prototype.next()", done: false }
Object { value: undefined, done: true }
示例 2:
function* GFG(len, list) {
let result = [];
let val = 0;
while (val < list.length) {
result = [];
let i = val
while(i < val + len)
{
if (list[i]) {
result.push(list[i]);
}
i+=1
}
yield result;
val += len;
}
}
list = [
'geeks1','geeks2','geeks3',
'geeks4','geeks5','geeks6',
'geeks7','geeks8','geeks9',
'geeks10','geeks11'
];
var geek = GFG(4, list);
document.writeln(geek.next().value+"
");
document.writeln(geek.next().value+"
");
document.writeln(geek.next().value+"
");
document.writeln(geek.next().value+"
");
输出:
geeks1,geeks2,geeks3,geeks4
geeks5,geeks6,geeks7,geeks8
geeks9,geeks10,geeks11
undefined
支持的浏览器: Generator.prototype.next() 方法支持的浏览器如下:
- 谷歌浏览器
- 火狐
- 歌剧
- 苹果浏览器
- 边缘