使用map-Javascript转换数组
我有以下json对象:使用map-Javascript转换数组,javascript,arrays,json,object,Javascript,Arrays,Json,Object,我有以下json对象: { contacts: [ { id: 52, gsm: '919191919191', firstName: 'Ganesh' }, { id: 51, gsm: '123456789', firstName: 'Mohamed' }, { id: 53, gsm: '987654321', firstName: 'Mohamed' } ], groups: { contactsCoun
{
contacts:
[ { id: 52,
gsm: '919191919191',
firstName: 'Ganesh' },
{ id: 51,
gsm: '123456789',
firstName: 'Mohamed' },
{ id: 53,
gsm: '987654321',
firstName: 'Mohamed' } ],
groups:
{ contactsCount: 1,
id: 40,
groupname: 'Angular' }
}
我希望我的最终输出如下:
[ { groupId:40 , contactId:52 }; { groupId:40 , contactId:51 } ; { groupId:40 , contactId:53 } ]
如何使用map或任何JS方法。一种方法是:
var data = {
contacts: [{
id: 52,
gsm: '919191919191',
firstName: 'Ganesh'
},
{
id: 51,
gsm: '123456789',
firstName: 'Mohamed'
},
{
id: 53,
gsm: '987654321',
firstName: 'Mohamed'
}
],
groups: {
contactsCount: 1,
id: 40,
groupname: 'Angular'
}
};
function getMap(data) {
return data.contacts.map((contact) => ({
contactId: contact.id,
groupId: data.groups.id
}))
}
getMap(data); //[{"contactId":52,"groupId":40},{"contactId":51,"groupId":40},{"contactId":53,"groupId":40}]
一种方法是:
var data = {
contacts: [{
id: 52,
gsm: '919191919191',
firstName: 'Ganesh'
},
{
id: 51,
gsm: '123456789',
firstName: 'Mohamed'
},
{
id: 53,
gsm: '987654321',
firstName: 'Mohamed'
}
],
groups: {
contactsCount: 1,
id: 40,
groupname: 'Angular'
}
};
function getMap(data) {
return data.contacts.map((contact) => ({
contactId: contact.id,
groupId: data.groups.id
}))
}
getMap(data); //[{"contactId":52,"groupId":40},{"contactId":51,"groupId":40},{"contactId":53,"groupId":40}]
你可以使用地图
var触点=[{
身份证号码:52,
gsm:'9191',
名字:“甘尼什”
},
{
id:51,
gsm:'123456789',
名字:“穆罕默德”
},
{
id:53,
gsm:'987654321',
名字:“穆罕默德”
}
];
变量组={
联系人:1,
身份证号码:40,
groupname:“Angular”
};
console.logcontacts.map s=>Object.assign{},{contactId:s.id,groupId:groups.id} 你可以使用地图
var触点=[{
身份证号码:52,
gsm:'9191',
名字:“甘尼什”
},
{
id:51,
gsm:'123456789',
名字:“穆罕默德”
},
{
id:53,
gsm:'987654321',
名字:“穆罕默德”
}
];
变量组={
联系人:1,
身份证号码:40,
groupname:“Angular”
};
console.logcontacts.map s=>Object.assign{},{contactId:s.id,groupId:groups.id} 您可以使用arraymap
var数据={contacts:[{id:52,gsm:'919191',firstName:'Ganesh'},{id:51,gsm:'123456789',firstName:'Mohamed'},{id:53,gsm:'987654321',firstName:'Mohamed'}],组:{contactscont:1,id:40,groupname:'Angular'},
结果=data.contacts.map{id}=>{groupId:data.groups.id,contactId:id};
console.logresult 您可以使用arraymap
var数据={contacts:[{id:52,gsm:'919191',firstName:'Ganesh'},{id:51,gsm:'123456789',firstName:'Mohamed'},{id:53,gsm:'987654321',firstName:'Mohamed'}],组:{contactscont:1,id:40,groupname:'Angular'},
结果=data.contacts.map{id}=>{groupId:data.groups.id,contactId:id};
console.logresult 晚会迟到了,但你来了: 变量数据={ 联络: [{id:52, gsm:'9191', 名字:'甘尼什'}, {id:51, gsm:'123456789', 名字:'穆罕默德'}, {id:53, gsm:'987654321', 名字:'Mohamed'}], 组: {联系人:1, 身份证号码:40, 组名:'Angular'} }; var newArray=[]; 对于var i=0;i
let obj = {
contacts:
[
{
id: 52,
gsm: '919191919191',
firstName: 'Ganesh'
},
{
id: 51,
gsm: '123456789',
firstName: 'Mohamed'
},
{
id: 53,
gsm: '987654321',
firstName: 'Mohamed'
}
],
groups: {
contactsCount: 1,
id: 40,
groupname: 'Angular'
}
}
let result = obj.contacts.map(contact => {
return {groupId: obj.groups.id, contactId: contact.id}
})
console.log(result)
这是我的回答
let obj = {
contacts:
[
{
id: 52,
gsm: '919191919191',
firstName: 'Ganesh'
},
{
id: 51,
gsm: '123456789',
firstName: 'Mohamed'
},
{
id: 53,
gsm: '987654321',
firstName: 'Mohamed'
}
],
groups: {
contactsCount: 1,
id: 40,
groupname: 'Angular'
}
}
let result = obj.contacts.map(contact => {
return {groupId: obj.groups.id, contactId: contact.id}
})
console.log(result)
您正在寻找具有联系人的组的笛卡尔乘积?我希望groups key中的groupId和contacts key中的contactId。是否确实要将它们用分隔符分隔;签名,不是:?{groupId:40;contactId:52}或{groupId:40:contactId:52}请参阅我的更新问题:这是笛卡尔积还是有一些id将联系人映射到组?您正在查找具有联系人的组的笛卡尔积?我希望组键中有groupId,联系人键中有contactId。是否确实希望它们之间用分隔;签名,不是:?{groupId:40;contactId:52}或{groupId:40:contactId:52}查看我更新的问题:这是笛卡尔积还是有一些id将联系人映射到组?查看我正在讨论的json对象,一个对象中的联系人和组。您可以在那里应用相同的逻辑。只是你访问对象的方式会改变。contacts.map将变为obj.contacts.map,groups.id将变为obj.groups.id。请参阅我的json对象,一个对象中的联系人和组。您可以在其中应用相同的逻辑。只是你访问对象的方式会改变。contacts.map将变为obj.contacts.map,groups.id将变为obj.groups.id。