Ответ 1
Это Array.prototype.push
, а не Array.push
Как описано здесь, быстрый способ добавления массива b к массиву a в javascript - a.push.apply(a, b)
.
Вы заметите, что объект a используется дважды. На самом деле нам просто нужна функция push
, а b.push.apply(a, b)
выполняет точно ту же самую вещь - первый аргумент apply предоставляет this
для прикладной функции.
Я думал, что имеет смысл использовать методы объекта Array напрямую: Array.push.apply(a, b)
. Но это не сработает!
Мне любопытно, почему нет, и если есть лучший способ достичь моей цели. (Применение функции push
без необходимости одновременного вызова определенного массива.)
Это Array.prototype.push
, а не Array.push
Вы также можете использовать [].push.apply(a, b)
для более коротких нот.
Что не так с 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];