Ich habe versucht, new Array()
Konstruktor mit map
zu verwenden, um einen einzeiligen Code zu erstellen, der eine Liste der Elemente erstellt. Etwas wie folgt aus:Verwenden von Array.map mit neuen Array-Konstruktor
let arr = new Array(12).map((el, i) => {
console.log('This is never called');
return i + 1;
});
Lesen docs, macht das Verhalten Sinn.
Grundsätzlich sagen Docs, dass Callback der Karte auch für deklarierte undefinierte Werte in Array ausgeführt wird, aber nicht zum Beispiel beim Erstellen leerer Arrays wie der Code zuvor.
dies sollte also funktionieren:
var arr = new Array(12);
for(let i = 0; i < arr.length ; i++){
arr[i] = undefined;
}
let list = arr.map((e, i) => {
console.log(i + 1);
return i + 1;
});
So können wir auch etwas tun:
let newArray = (length) => {
let myArray = new Array(length);
for(let i = 0; i < length; i++) myArray[i] = undefined;
return myArray;
};
console.log(newArray(12).map((el, i) => i + 1));
Also meine Frage. Gibt es einen besseren/schönen Weg, dies mit der Kartenfunktion zu tun?
Vielen Dank im Voraus!
Ziemlich cool! Ich werde Arra auslesen. Danke für diese nützliche Antwort! Antwort wird in 9 Minuten markiert! =) –
Ich bin nicht der Wähler, aber ich würde darauf hinweisen, dass 'Array.from' einen Callback akzeptiert, der sich wie' .map() 'verhält. Wenn Sie das verwenden, erstellen Sie kein unnötiges Zwischenarray. –
Ich weiß es nicht. Ich habe dich aufgewertet. Ich denke, ist ziemlich cool, also werde ich diese Antwort markieren, weil es sauberer ist und für mich arbeitet. Und war der Erste. =) –