To są moje dane:
[
{
url: 'www.example.com/hello',
id: "22"
},
{
url: 'www.example.com/hello',
id: "22"
},
{
url: 'www.example.com/hello-how-are-you',
id: "23"
},
{
url: 'www.example.com/i-like-cats',
id: "24"
},
{
url: 'www.example.com/i-like-pie',
id: "25"
}
]
W Lodash, jak mogę usunąć obiekty ze zduplikowanymi kluczami identyfikacyjnymi? Coś z filtrem, mapą i unikalne, ale nie do końca pewne.
Mój prawdziwy zestaw danych jest znacznie większy i ma więcej kluczy, ale koncepcja powinna być taka sama.
javascript
lodash
ChrisRich
źródło
źródło
uniq
co jest wymawiane jako kolejka kolanowa zamiast tego, co powinno byćunique
...Możesz użyć metody lodash _.uniq Dzięki temu jest ona dostępna w aktualnej wersji lodash 4.17.2.
Przykład:
Więcej informacji: https://lodash.com/docs/#uniqWith
źródło
Lub po prostu użyj unii dla prostej tablicy.
źródło
_.union([1, 2, 2, 1, 3]) => [1, 2, 3]
Wystarczy użyć _.uniqBy () . Tworzy wolną od duplikatów wersję tablicy.
Jest to nowy sposób i dostępny od wersji 4.0.0.
lub
źródło
W wersji lodash 4+ można usunąć zduplikowane obiekty według określonej właściwości lub całego obiektu w następujący sposób:
Źródło: https://www.codegrepper.com/?search_term=Lodash+remove+duplicates+from+array
źródło
Możesz także użyć unionBy dla 4.0.0 i nowszych, w następujący sposób: let uniques = _.unionBy (data, 'id')
źródło
W przypadku prostej tablicy masz podejście łączące, ale możesz także użyć:
źródło