Добавить в один массив другой массив

Родной метод concat не годится, так как он делает копию массива после слияния, а нужно во чтобы то не стало сохранить исходный объект. Метод push тоже не подходит, так как добавляет массив как вложенный. Самое очевидное решение — циклом добавить элементы.

Но есть более элегантный метод!

var a = [1,2];
Array.prototype.push.apply(a, [11,12,13]);

Трюк основан на вызове через apply стандартного метода push объекта Array. Аргументы для push разворачиваются из массива. Контекстом исполнения, разумеется, является наш модифицируемый массив. Тот самый цикл, который мы могли написать явным образом и который бы исполнялся интерпретатором команда за командой, выполнится неявно и с гораздо большей скоростью.