2016-12-28 7 views
0

Als ein Experiment möchte ich einen Generator erstellen, der einige Ganzzahlen mit dem folgenden ungefähren Entwurf ergibt.Wie kann ich den folgenden Generator zum Arbeiten bekommen?

Kann ich das zum Funktionieren bringen (d. H. Aus einer inneren Funktion herausgeben)?

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

Welches Ergebnis erwarten Sie? –

+0

'0 1 2 3 4 5 6 7 .. bis 30 'auf der Konsole gedruckt werden. – Ben

+0

Richtig, Entschuldigung, ich habe meinen Kommentar entfernt. – YMMD

Antwort

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

var generator = numbers() 

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

Die ursprüngliche Antwort enthielt einen Tippfehler. Bitte schau es dir nochmal an. –

Verwandte Themen