2017-07-25 3 views

Antwort

12

Array comprehension in JS wurde für ES2016 vorgeschlagen, aber nie schaffte es bis zur endgültigen Freigabe. Firefox unterstützte eine Zeitlang die Comprehensions, aber die Unterstützung wurde in späteren Versionen gelöscht.

Sie können Array#from verwenden, um etwas zum Verständnis zu bekommen.

const result = Array.from({ length: 5 }, (_, k) => `Cat #${k}`); 
 

 
console.log(result);

+1

, dass eine geschickte Nutzung von 'Array.from' ist! Aus irgendeinem Grund ist Array.fill.map in Chrome/Firefox schneller, aber das ist * viel * besser lesbar. – CodingIntrigue

6

Es gibt nichts so schönes in Javascript. Nach meinem besten Wissen müssen Sie ein neues Array erstellen und verwenden, um jedes Element anders als undefined zu machen. Dann können Sie .map verwenden und mit dem Array-Index zurückkehren/arbeiten und nicht mit dem Wert. Etwas wie folgt aus:

console.log((new Array(5)).fill(0).map((x,i) => `Cat ${i}`))

Sie können feststellen, Generatoren nützlich: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Generator_comprehensions

Verwandte Themen