Добавить элемент в первый объект внутри массива объектов - PullRequest
1 голос
/ 11 апреля 2019

У меня есть массив объектов.

{projectId:10,projectName:design,status:done},
{projectId:11,projectName:code,status:onGoing}

Теперь этот массив исходит из вызова API и его динамики.Я хочу вставить элемент {time:30} в первый объект в массиве.То есть в объект с индексом 0.

Итак, вывод будет таким:

{projectId:10,projectName:design,status:done,time:30},
{projectId:11,projectName:code,status:onGoing}

Я попробовал следующий код:

let projects = [{projectId:10,projectName:design,status:done},
{projectId:11,projectName:code,status:onGoing} ];

let newArray = projects.slice();

newArray[0].push({ time: '30' });

console.log(newArray);

Но приведенный выше код дает мне следующую ошибку.

TypeError: newArray[0].push is not a function

Можете ли вы помочь мне с этой проблемой.Спасибо,

Ответы [ 3 ]

1 голос
/ 11 апреля 2019

Элемент с индексом 0 является объектом, push () является методом прототипа массива.

Вы можете использовать метод, как показано ниже.

let projects = [{projectId:10, projectName: 'design' ,status: 'done'},
{projectId:11,projectName:'code',status:'onGoing'} ];

projects[0].time = 30

console.log(projects)
0 голосов
/ 11 апреля 2019

Работает ли у вас следующее:

projects[0].time = 30;
console.log(projects);
0 голосов
/ 11 апреля 2019

Вы не можете push() к объекту.установить time свойство элемента 0 индекс

newArray[0].time = '30'

Вы также можете использовать Object.assign()

Object.assign(newArray[0],{time:'30'}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...