當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Generator next()用法及代碼示例


JavaScript 生成器.prototype.next()方法是一個內置方法JavaScript用於返回具有完成和值兩個屬性的對象。

用法:

gen.next( value );

參數:該函數接受如上所述和如下所述的單個參數:

  • value:該參數保存要發送到生成器的值。

返回值:此方法返回一個包含兩個屬性的對象:

  • done:它有它的值
    • true- 對於超過迭代序列末尾的迭代器。
    • false- 對於能夠產生序列中下一個值的迭代器。
  • value:它包含迭代器返回的任何 JavaScript 值。

以下示例說明了 JavaScript 中的 Generator.prototype.next() 方法:

示例 1:在此示例中,我們將創建一個生成器,然後應用 Generator.prototype.next() 方法並查看輸出。

javascript


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:在此示例中,我們將創建一個生成器,然後應用 Generator.prototype.next() 方法並查看輸出。

javascript


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'
]; 
  
let geek = GFG(4, list); 
  
console.log(geek.next().value); 
console.log(geek.next().value); 
console.log(geek.next().value); 
console.log(geek.next().value);

輸出:

geeks1,geeks2,geeks3,geeks4
geeks5,geeks6,geeks7,geeks8
geeks9,geeks10,geeks11
undefined

支持的瀏覽器:Generator.prototype.next()方法支持的瀏覽器如下:

  • 穀歌瀏覽器
  • Firefox
  • Opera
  • Safari
  • Edge

我們有Javascript Generator方法的完整列表,要檢查這些方法,請閱讀Javascript Generator Reference文章。



相關用法


注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript Generator next() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。