将项目添加到对象数组内的第一个对象

时间:2019-04-11 14:28:28

标签: javascript arrays object

我有一个对象数组。

{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 个答案:

答案 0 :(得分:1)

索引为0的元素是一个对象,push()是数组原型的一种方法。

您可以使用如下所示的方法。

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

projects[0].time = 30

console.log(projects)

答案 1 :(得分:0)

您不能push()到对象。设置项目time的索引0

newArray[0].time = '30'

您也可以使用Object.assign()

Object.assign(newArray[0],{time:'30'}); 

答案 2 :(得分:0)

为您完成以下工作:

projects[0].time = 30;
console.log(projects);