Не добавляться массив в массив
Подскажите пожалуйста, почему не добавляться массив в массив.
var array = [{"id": 1, "name": "test"},{"id": 2, "name": "test2"}];
array[0].concat({"form_id": 1});
console.log(array);
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
- Метод
concatесть только у массивов, вы же пытаетесь вызвать его с первым элементом массива, который не является массивом. - Метод
concatвозвращает новый массив, а не меняет массив, для которого он был вызван, его результат нужно куда-то присваивать.
Из вашего кода не совсем ясно, что вы пытаетесь сделать.
Если вы хотите добавить поле в первый элемент массива, можно так:
var array = [{"id": 1, "name": "test"},{"id": 2, "name": "test2"}];
array[0].form_id = 1;
console.log(array);
Или так:
var array = [{"id": 1, "name": "test"},{"id": 2, "name": "test2"}];
Object.assign(array[0], {"form_id": 1});
console.log(array);
Если вы пытаетесь добавить новый элемент в массив, вашим способом можно так:
var array = [{"id": 1, "name": "test"},{"id": 2, "name": "test2"}];
array = array.concat({"form_id": 1});
console.log(array);
Но проще так:
var array = [{"id": 1, "name": "test"},{"id": 2, "name": "test2"}];
array.push({"form_id": 1});
console.log(array);
UPD: Решение прояснённого вопроса:
var array = [{"id": 1, "name": "test"},{"id": 2, "name": "test2"}];
array[0].forms = [{"form_id": 1}];
console.log(array);