Javascript 如何修改数组中的对象?
所以我反对:Javascript 如何修改数组中的对象?,javascript,arrays,object,pug,Javascript,Arrays,Object,Pug,所以我反对: [ RowDataPacket { id: 1, name: 'title', value: 'My title' }, RowDataPacket { id: 2, name: 'email', value: 'Some email' } ] 我想这样修改它: [ { title: 'My title' }, { email: 'Some email' } ] 我已经尝试通过以下方式对其进行修改: var data = ** First object on top **
[ RowDataPacket { id: 1, name: 'title', value: 'My title' },
RowDataPacket { id: 2, name: 'email', value: 'Some email' } ]
我想这样修改它:
[ { title: 'My title' }, { email: 'Some email' } ]
我已经尝试通过以下方式对其进行修改:
var data = ** First object on top **
var data2 = [];
for (let i = 0; i < data.length; i++) {
data2.push({[data[i]['name']]: data[i]['value']});
}
但在帕格中循环,经过修改后,我得到的长度是未定义的
each item in data2
p
item.title
p
item.email
我做错了什么?您将每个项目作为单独的对象推送。在您的循环中,项目要么有
标题
,要么有电子邮件
。不是两者都有。在数据数组中是否总是有2项?如果是,为什么需要循环?如果没有,您将如何处理其他字段?
each item in data2
p
item.title
p
item.email