Recentemente, precisei mesclar dois arrays no Node, muito parecido com a função PHP array_merge()
. Isso parecia trivial, com o método:
Array.prototype.concat(value1, value2, ..., valueN);
No entanto, arr.concat(value1)
retorna um novo array, contendo cópias dos valores dos arrays originais.
Descobri que nem sempre é uma ótima opção, especialmente se os arrays forem grandes ou a alocação de memória for limitada.
Uma opção muito melhor pode ser obtida usando o Function.prototype.apply();
.
arr.push.apply(arr, arr2);
Isso combinará com eficiência os dois arrays.