如何从基于多个属性的可观察数组中删除重复项



如果我有一个像这样的项目数组

[
{id: 1, name: 'Sam', gender: 'boy'}, 
{id: 2, name: 'Mary', gender: 'girl'}, 
{id: 3, name: 'Sam', gender: 'boy'}
]

仅根据姓名和性别匹配,如何将其简化为以下结果?

[
{id: 1, name: 'Sam', type: 'boy'}, 
{id: 2, name: 'Mary', type: 'girl'}
]

让我们试试

items$.pipe(map(this.uniqueArray))
uniqueArray(array: any[]): any[] {
return array.filter(
(item, index, self) =>
index === self.findIndex((x) => x.name === item.name)
);
}

https://stackblitz.com/edit/angular-isqjpa?file=src/app/hello.component.ts

最新更新