Non sembra esserci un modo per estendere un array JavaScript esistente con un altro array, ovvero per emulare il extend
metodo Python .
Voglio ottenere quanto segue:
>>> a = [1, 2]
[1, 2]
>>> b = [3, 4, 5]
[3, 4, 5]
>>> SOMETHING HERE
>>> a
[1, 2, 3, 4, 5]
So che esiste un a.concat(b)
metodo, ma crea un nuovo array invece di estendere semplicemente il primo. Vorrei un algoritmo che funzioni in modo efficiente quando a
è significativamente più grande di b
(cioè uno che non copia a
).
Nota: questo non è un duplicato di Come aggiungere qualcosa a un array? - l'obiettivo qui è quello di aggiungere l'intero contenuto di un array all'altro e di farlo "sul posto", cioè senza copiare tutti gli elementi dell'array esteso.
a.push(...b)
. È simile nel concetto alla risposta migliore, ma aggiornato per ES6.