Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript对象。更改数组中对象的键名称_Javascript_Arrays_Object - Fatal编程技术网

JavaScript对象。更改数组中对象的键名称

JavaScript对象。更改数组中对象的键名称,javascript,arrays,object,Javascript,Arrays,Object,我有一个类似以下示例的对象数组: [ { id: 44, message: 'abcd', name: 'example1' }, { id: 44, message: 'efgh', name: 'example2' }, { id: 45, message: 'ijkl', name: 'example3' }, { id: 45, message: 'mnop', name: 'example4' }, ] 如您所见,id值是重复的。现在,我只需要在第二个重复对象处将键名

我有一个类似以下示例的对象数组:

[
  { id: 44, message: 'abcd', name: 'example1' },
  { id: 44, message: 'efgh', name: 'example2' },
  { id: 45, message: 'ijkl', name: 'example3' },
  { id: 45, message: 'mnop', name: 'example4' },
]
如您所见,id值是重复的。现在,我只需要在第二个重复对象处将键名“name”更改为“lastName”:

[
  { id: 44, message: 'abcd', name: 'example1' },
  { id: 44, message: 'efgh', lastName: 'example2' },
  { id: 45, message: 'ijkl', name: 'example3' },
  { id: 45, message: 'mnop', lastName: 'example4' },
]

您可以保持
last id
跟踪,并
修改
映射循环中的返回对象

对于未排序的列表:

let数据=[
{id:44,消息:“abcd”,名称:“example1”},
{id:44,信息:“efgh”,名称:“example2”},
{id:45,消息:“ijkl”,名称:“example3”},
{id:45,消息:“mnop”,名称:“example4”},
];
设idMap=newset();
const result=data.map((项)=>{
if(idMap.has(item.id)){
常量{name:lastName,…rest}=item;
item={…rest,lastName};
}否则{
添加(item.id);
}
退货项目;
});

控制台日志(结果)
您可以保存每个项目的
id
s,如果已经访问了具有此id的项目,则可以将密钥从
name
重命名为
lastName

let list=[
{id:44,消息:'abcd',名称:'example1'},
{id:44,消息:'efgh',名称:'example2'},
{id:45,消息:'ijkl',名称:'example3'},
{id:45,消息:'mnop',名称:'example4'},
];
让我们检查=[];
列表.forEach(功能(项){
如果(勾选。包括(项目id)){
项目['lastName']=项目['name'];
删除项目[‘名称’];
}否则{
选中。推送(项目id);
}
});

console.log(列表)
您尝试了什么??欢迎来到Stackoverflow。到目前为止,您尝试了什么来解决这个问题?你在哪里被卡住了?我想这已经得到了回答,Tranks,我在一个变量中存储了密钥名,但是当我搜索重复id的对象时,我被卡住了。