从对象数组中删除重复项-Javascript

从对象数组中删除重复项-Javascript,javascript,Javascript,嗨,我正在尝试从对象数组中删除重复项。但这并不像预期的那样奏效 这是我的阵列: const arr=[{ PData:[{ id:'1', 书名:“书” }, { id:'2', 名称:“包” }, { id:'2', 名称:“包” }, ] }] 常量RemovedUpplicates=(数组,键)=>{ 返回数组.reduce((arr,item)=>{ 移除常数=arr.filter(i=>i[key]!==项[key]); 返回[…删除,项目]; }, []); }; var结果=移除

嗨,我正在尝试从对象数组中删除重复项。但这并不像预期的那样奏效

这是我的阵列:

const arr=[{
PData:[{
id:'1',
书名:“书”
},
{
id:'2',
名称:“包”
},
{
id:'2',
名称:“包”
},
]
}]
常量RemovedUpplicates=(数组,键)=>{
返回数组.reduce((arr,item)=>{
移除常数=arr.filter(i=>i[key]!==项[key]);
返回[…删除,项目];
}, []);
};
var结果=移除的副本(arr,‘id’)

控制台日志(结果)您可以使用
过滤器
以下是
id
name
的操作方法

const arr=[{
PData:[{
id:'1',
书名:“书”
},
{
id:'2',
名称:“包”
},
{
id:'2',
名称:“包”
},
]
}]
arr[0].PData=Object.values(arr[0].PData).filter((v,i,a)=>a.findIndex(t=>(t.id==v.id&&t.name==v.name))==i)

console.log(arr[0].PData)要从中删除重复项的数组嵌套在对象中,但您仅在“根”数组上运行函数,但我的数组不是这样right@royal查看更新