Python 3.6:Was entspricht einem Listenverständnis wie diesem in ES2016 oder größer?
[f"Cat #{n}" for n in range(5)]
['Cat #0', 'Cat #1', 'Cat #2', 'Cat #3', 'Cat #4']
Neu JavaScript gibt, was in neuen EcmaScript das Äquivalent ist?
Python 3.6:Was entspricht einem Listenverständnis wie diesem in ES2016 oder größer?
[f"Cat #{n}" for n in range(5)]
['Cat #0', 'Cat #1', 'Cat #2', 'Cat #3', 'Cat #4']
Neu JavaScript gibt, was in neuen EcmaScript das Äquivalent ist?
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);
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
, 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