Javascript 从总是返回第n个索引的数组中删除重复对象

Javascript 从总是返回第n个索引的数组中删除重复对象,javascript,filter,duplicates,Javascript,Filter,Duplicates,有没有一种方法可以去除二聚体,确保始终保留第n个索引。 所以如果我有 [{name: "john", age:20},{name:"john", age:30}] 我希望结果总是这样 [{name:"john",age:30}] 目前,我正在使用这种方法删除DUP PICKER.saveSelection = PICKER.saveSelection.filter((select, index, self) => { return self.map(function(mapIte

有没有一种方法可以去除二聚体,确保始终保留第n个索引。 所以如果我有

[{name: "john", age:20},{name:"john", age:30}]
我希望结果总是这样

[{name:"john",age:30}]
目前,我正在使用这种方法删除DUP

  PICKER.saveSelection = PICKER.saveSelection.filter((select, index, self) => {
 return self.map(function(mapItem){ return mapItem["category"]; }).indexOf(select["category"]) === index;});

您可以使用
reduce
并使用名称作为键将数组分组到对象中。使用
Object.values
将对象转换回数组

var-arr=[
{姓名:“约翰”,年龄:20},
{姓名:“约翰”,年龄:30},
{姓名:“亚当”,年龄:30},
{姓名:“埃迪”,年龄:27}
];
var result=Object.values(arr.reduce((c,v)=>Object.assign(c,{[v.name]:v}),{});

控制台日志(结果)
您可以使用
reduce
并使用名称作为键将数组分组到对象中。使用
Object.values
将对象转换回数组

var-arr=[
{姓名:“约翰”,年龄:20},
{姓名:“约翰”,年龄:30},
{姓名:“亚当”,年龄:30},
{姓名:“埃迪”,年龄:27}
];
var result=Object.values(arr.reduce((c,v)=>Object.assign(c,{[v.name]:v}),{});
控制台日志(结果)