Подтвердить что ты не робот

Почему Array.push.apply не работает?

Как описано здесь, быстрый способ добавления массива b к массиву a в javascript - a.push.apply(a, b).

Вы заметите, что объект a используется дважды. На самом деле нам просто нужна функция push, а b.push.apply(a, b) выполняет точно ту же самую вещь - первый аргумент apply предоставляет this для прикладной функции.

Я думал, что имеет смысл использовать методы объекта Array напрямую: Array.push.apply(a, b). Но это не сработает!

Мне любопытно, почему нет, и если есть лучший способ достичь моей цели. (Применение функции push без необходимости одновременного вызова определенного массива.)

4b9b3361

Ответ 2

Вы также можете использовать [].push.apply(a, b) для более коротких нот.

Ответ 3

Что не так с Array.prototype.concat?

var a = [1, 2, 3, 4, 5];
var b = [6, 7, 8, 9];

a = a.concat(b); // [1, 2, 3, 4, 5, 6, 7, 8, 9];