Append an array to another array in JavaScript [duplicate] Append an array to another array in JavaScript [duplicate] arrays arrays

Append an array to another array in JavaScript [duplicate]


If you want to modify the original array instead of returning a new array, use .push()...

array1.push.apply(array1, array2);array1.push.apply(array1, array3);

I used .apply to push the individual members of arrays 2 and 3 at once.

or...

array1.push.apply(array1, array2.concat(array3));

To deal with large arrays, you can do this in batches.

for (var n = 0, to_add = array2.concat(array3); n < to_add.length; n+=300) {    array1.push.apply(array1, to_add.slice(n, n+300));}

If you do this a lot, create a method or function to handle it.

var push_apply = Function.apply.bind([].push);var slice_call = Function.call.bind([].slice);Object.defineProperty(Array.prototype, "pushArrayMembers", {    value: function() {        for (var i = 0; i < arguments.length; i++) {            var to_add = arguments[i];            for (var n = 0; n < to_add.length; n+=300) {                push_apply(this, slice_call(to_add, n, n+300));            }        }    }});

and use it like this:

array1.pushArrayMembers(array2, array3);