JavaScript | Как склеить два массива с объектами?

JavaScript | Как склеить два массива с объектами?

У нас есть два массива с объектами JavaScript (элементами обоих массивов являются объекты):

var massiv1 = [{a:"a"},{b:"b"},{c:"c"},{d:"d"}]
var massiv2 = [{e:"e"},{f:"f"},{g:"g"},{h:"h"}]

Мы хотим склеить эти два массива в один массив таким образом, чтобы объекты из первого и второго массивов перенеслись в третий.

Для решения задачи мы будем использовать метод concat() прототипов объекта Array. Этот метод должен вызываться на каком то массиве, поэтому для простоты восприятия мы воспользуемся пустым массивом с квадратными скобками и на нём вызовем метод concat() с переданными параметрами для склеивания.

var massiv3 = [].concat(massiv1, massiv2)

Последовательность передачи массивов имеет значение. Если мы хотим, чтобы элементы первого массива были в начале третьего, тогда первым параметром нужно передавать первый массив — massiv1.

 

Результат вывода команды:

[{a:"a"},{b:"b"},{c:"c"},{d:"d"},{e:"e"},{f:"f"},{g:"g"},{h:"h"}]

Вывод в консоль браузера:

JavaScript - Как склеить два массива с объектами?
JavaScript — Как склеить два массива с объектами?

Мы получили склеенный массив, в котором все элементы являются объектами JavaScript.

ВАЖНО! Метод concat() изменяет массив на котором он вызывается. Квадратные скобки позволяют НЕ потерять данные.

 

Ссылки

JavaScript | Массивы (Array)

JavaScript | Объявление массива через квадратные скобки []

ECMAScriptLiving Standardhttps://tc39.es/ecma262/#sec-array-objects

ECMAScriptLiving Standardhttps://tc39.es/ecma262/#sec-array.prototype.concat

Свойства конструктора Array

Свойства объекта прототипа Array