Ini data saya:
[
{
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"
}
]
Dengan Lodash, bagaimana saya bisa menghapus objek dengan kunci id duplikat? Sesuatu dengan filter, peta dan unik, tetapi tidak yakin.
Kumpulan data saya yang sebenarnya jauh lebih besar dan memiliki lebih banyak kunci, tetapi konsepnya harus sama.
javascript
lodash
ChrisRich
sumber
sumber
uniq
yang diucapkan sebagai antrian lutut Anda dan bukan apa yang seharusnya,unique
...Anda dapat menggunakan metode lodash _.uniqDengan, ini tersedia dalam versi lodash 4.17.2 saat ini.
Contoh:
Info lebih lanjut: https://lodash.com/docs/#uniqWith
sumber
Atau cukup Gunakan gabungan , untuk array sederhana.
sumber
_.union([1, 2, 2, 1, 3]) => [1, 2, 3]
Cukup gunakan _.uniqBy () . Ini menciptakan versi array duplikat-bebas.
Ini adalah cara baru dan tersedia dari versi 4.0.0.
atau
sumber
Dengan lodash versi 4+, Anda akan menghapus objek duplikat baik oleh properti tertentu atau seluruh objek seperti:
Sumber: https://www.codegrepper.com/?search_term=Lodash+remove+duplicates+from+array
sumber
Anda juga dapat menggunakan unionBy untuk 4.0.0 dan yang lebih baru, sebagai berikut: let uniques = _.unionBy (data, 'id')
sumber
Untuk larik sederhana, Anda memiliki pendekatan gabungan, tetapi Anda juga dapat menggunakan:
sumber