使用javascript替换某些对象和数组?
我使用nodejs作为服务器端,我得到了一些json对象 这是我的带有对象的json数组使用javascript替换某些对象和数组?,javascript,arrays,json,object,reduce,Javascript,Arrays,Json,Object,Reduce,我使用nodejs作为服务器端,我得到了一些json对象 这是我的带有对象的json数组 [ { "id": 20, "gsm": "123456789", "firstName": "Mohamed", "lastName": "Sameer", "contactgroups": [ { "contactId": 20,
[
{
"id": 20,
"gsm": "123456789",
"firstName": "Mohamed",
"lastName": "Sameer",
"contactgroups": [
{
"contactId": 20,
"groupId": 14,
"group": {
"groupname": "Angular"
}
}
]
},
{
"id": 21,
"gsm": "987654321",
"firstName": "Ganesh",
"lastName": "Pandiyan",
"contactgroups": [
{
"contactId": 21,
"groupId": 14,
"group": {
"groupname": "Angular"
}
},
{
"contactId": 21,
"groupId": 15,
"group": {
"groupname": "React"
}
}
]
}
]
我希望最终输出如下(请参阅我的groupname键):
可能吗?要做到这一点,哪一个是最好的地图或减少或洛达斯?有什么办法吗
我想更改groupname的位置并从组对象中删除groupname。您可以使用。这将返回一个带有修改的键和值的新数组
var orgArray=[{
“id”:20,
“gsm”:“123456789”,
“名字”:“穆罕默德”,
“姓氏”:“Sameer”,
“联系人组”:[{
“联系人ID”:20,
“组ID”:14,
“集团”:{
“组名”:“角度”
}
}]
},
{
“id”:21,
“gsm”:“987654321”,
“名字”:“甘尼什”,
“姓氏”:“潘迪扬”,
“联系人组”:[{
“联系人ID”:21,
“组ID”:14,
“集团”:{
“组名”:“角度”
}
},
{
“联系人ID”:21,
“组ID”:15,
“集团”:{
“组名”:“反应”
}
}
]
}
]
var newArray=orgArray.map(函数(项){
返回{
“id”:项目id,
“gsm”:item.gsm,
“firstName”:item.firstName,
“lastName”:item.lastName,
//将创建新联系人组的生活
“联系人组”:(函数(){
return item.contactgroups.map(函数(item2,索引){
返回{
“联系人ID”:项目2.contactId,
“groupId”:item2.groupId,
“组名”:item2.group.groupname,
“集团”:{}
}
})
}())
}
})
log(newArray)代码>最好用文字解释,而不是转储两个大的json内容。我想改变groupname在第一个json中的位置,就像第二个一样json@MohamedSameer你基本上一直在问同一个问题,显然没有从以前的答案中学到任何东西。与上次一样,这是非常基本的重构,可以使用forEach
在数组上循环来完成。对于每个对象,在contactgroups数组上循环。对于每个联系人,将groupname属性添加到联系人,并将其值设置为group.groupname内的值。用n个空对象覆盖组项目。一个简单的forEach()
或.map()
就足够了。@ChrisG发布一些代码?我正在努力,当然我是一个编程新手,会加速的soon@MohamedSameer我已经更新了代码。请核实
[
{
"id": 20,
"gsm": "123456789",
"firstName": "Mohamed",
"lastName": "Sameer",
"contactgroups": [
{
"contactId": 20,
"groupId": 14,
"groupname": "Angular",
"group": {}
}
]
},
{
"id": 21,
"gsm": "987654321",
"firstName": "Ganesh",
"lastName": "Pandiyan",
"contactgroups": [
{
"contactId": 21,
"groupId": 14,
"groupname": "Angular",
"group": {}
},
{
"contactId": 21,
"groupId": 15,
"groupname": "React",
"group": {}
}
]
}
]