@schepetkin
junior frontend dev

Непонятная запись слияния двух массивов в js. Как это происходит?

Всем Добрый день коллеги! Увидел вариант слияния двух массивов, но не могу понять как это работает. Как работает метод apply знаю, но в данном выражении не понятно, и не ясно зачем мы сначала присваиваем ссылку на массив а, потом запятая и пушим через apply.
Может кто в двух словах объяснить как это работает? Заранее огромное спасибо!!
var a = [1,2,3,4],
      b = [3,4,5,6],
      с;
c = a, Array.prototype.push.apply(a,b) // [1, 2, 3, 4, 3, 4, 5, 6]
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Если у вас сложности вызывает именно запятая, то это просто кривая запись, непонятно ради чего.
Вот этот код аналогичен тому, что у вас, но намного понятнее:
var a = [1,2,3,4];
var b = [3,4,5,6];
var с;

c = a;

Array.prototype.push.apply(a,b) // [1, 2, 3, 4, 3, 4, 5, 6]


Зачем нужна переменная c тоже не очень понятно - массивы присваиваются по ссылке, поэтому a изменится тоже.

В общем, странный код.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы