Javascript 从总是返回第n个索引的数组中删除重复对象
有没有一种方法可以去除二聚体,确保始终保留第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
[{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}),{});
控制台日志(结果)代码>