var fruits = [];
fruits.push("lemon", "lemon", "lemon", "lemon");
Anstatt dieselben Elemente zu pushen, wie kann man es einmal so schreiben:
fruits.push("lemon" * 4 times)
Deke
var fruits = [];
fruits.push("lemon", "lemon", "lemon", "lemon");
Anstatt dieselben Elemente zu pushen, wie kann man es einmal so schreiben:
fruits.push("lemon" * 4 times)
Bestimmte Leistung
Verwenden Sie für Primitive .fill
:
var fruits = new Array(4).fill('Lemon');
console.log(fruits);
Für Nicht-Primitive nicht verwenden fill
da dann alle Elemente im Array auf dasselbe Objekt im Speicher verweisen, sodass Mutationen an einem Element im Array sich auf jedes Element im Array auswirken.
const fruits = new Array(4).fill({ Lemon: 'Lemon' });
fruits[0].Apple="Apple";
console.log(JSON.stringify(fruits));
// The above doesn't work for the same reason that the below doesn't work:
// there's only a single object in memory
const obj = { Lemon: 'Lemon' };
const fruits2 = [];
fruits2.push(obj);
fruits2.push(obj);
fruits2.push(obj);
fruits2.push(obj);
fruits2[0].Apple="Apple";
console.log(JSON.stringify(fruits2));
Erstellen Sie das Objekt stattdessen explizit bei jeder Iteration, was möglich ist Array.from
:
var fruits = Array.from(
{ length: 4 },
() => ({ Lemon: 'Lemon' })
);
console.log(fruits);
Ein Beispiel für die Erstellung eines 2D-Arrays auf diese Weise:
var fruits = Array.from(
{ length: 2 }, // outer array length
() => Array.from(
{ length: 3 }, // inner array length
() => ({ Lemon: 'Lemon' })
)
);
console.log(fruits);
Anscheinend hier “Warum nie ein neues Array in Javascript verwenden”
– Ashleedawg
13. April 2021 um 14:54 Uhr
Sicher, nicht verwenden falsch. Es gibt leider viele Möglichkeiten, viele Dinge falsch zu verwenden, und beides nicht new Array
Noch Array.from
sind Ausnahmen. new Array
ist in Ordnung, solange Sie das Array danach füllen.
– Bestimmte Leistung
13. April 2021 um 17:00 Uhr
Facundo Petre
Versuchen Sie es mit dem Array-Konstruktor:
let myArray = Array(times).fill(elemnt)
Sehen Sie mehr hier Array
Du brauchst nicht new
für Arrays.
– Barmar
14. August 2018 um 1:06 Uhr
Sie sollten den Array-Konstruktor nicht verwenden, verwenden
[]
stattdessen.
const myArray = []; // declare array
myArray.length = 5; // set array size
myArray.fill('foo'); // fill array with any value
console.log(myArray); // log it to the console
const item = 'lemon'
const arr = Array.from({length: 10}, () => item)
const item = 'lemon'
const arr = Array.from({length: 10}, () => item)
console.log('arr', arr)
Sie sind nicht die gleichen Elemente. Der erste hat Großbuchstaben
L
die anderen haben Kleinbuchstabenl
.– Barmar
14. August 2018 um 1:05 Uhr
den Tippfehler geändert
– Deke
14. August 2018 um 1:08 Uhr
Mögliches Duplikat von Erstellen Sie ein Array mit demselben Element, das mehrmals wiederholt wird
– Akrion
12. Oktober 2018 um 6:07 Uhr