2016-12-28 9 views
0

作爲一個實驗,我想創建一個生成器,用下面的近似設計生成一些整數。如何獲得以下發電機的工作?

我可以得到這個工作(即從內部函數產生)?

function* numbers() { 
    [...Array(31)].forEach((_,i)=> { 
     yield i; // Invalid syntax - how can this be changed? 
    }); 
} 

var generator = numbers(); 

for(var i of generator) { 
    console.log(i); // I want 0 1 2 3 4 5 6 7... to 30 to be printed 
} 
+0

你期待什麼結果呢? –

+0

'0 1 2 3 4 5 6 7 ..到30'可以打印到控制檯上。 – Ben

+0

對不起,我刪除了我的評論。 – YMMD

回答

2
function* numbers() { 
    yield* Object.keys([...Array(31)]) 
} 

var generator = numbers() 

for(var i of generator) { 
    console.log(i) 
} 
+0

原始答案有錯別字。請再看看。 –