Es scheint keine Möglichkeit zu geben, ein bestehendes JavaScript-Array mit einem anderen Array zu erweitern, d.h. Pythons extend
Methode.
Ich möchte Folgendes erreichen:
>>> a = [1, 2]
[1, 2]
>>> b = [3, 4, 5]
[3, 4, 5]
>>> SOMETHING HERE
>>> a
[1, 2, 3, 4, 5]
Ich weiß, es gibt eine a.concat(b)
Methode, aber sie erstellt ein neues Array, anstatt einfach das erste zu erweitern. Ich hätte gerne einen Algorithmus, der effizient arbeitet, wenn a
deutlich größer ist als b
(d.h. eine, die nicht kopiert a
).
<em><strong>Nota: </strong>Dies ist <strong>nicht ein Duplikat von <a href="https://stackoverflow.com/questions/351409/appending-to-array">Wie kann man etwas an ein Array anhängen? </a></strong>-- Ziel ist es hier, den gesamten Inhalt eines Arrays dem anderen hinzuzufügen, und zwar "an Ort und Stelle", d.h. ohne alle Elemente des erweiterten Arrays zu kopieren.</em>
10 Stimmen
Aus @Zahnbürste's Kommentar zu einer Antwort:
a.push(...b)
. Das Konzept ähnelt dem der ersten Antwort, wurde aber für ES6 aktualisiert.0 Stimmen
>>> a.push(...b)