これは私のデータです:
[
{
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"
}
]
Lodash では、重複した ID キーを持つオブジェクトを削除するにはどうすればよいでしょうか? フィルター、マップ、一意の機能を使った方法があるようですが、よくわかりません。
実際のデータセットははるかに大きく、キーも多くありますが、概念は同じです。
ベストアンサー1
_.unique
Lodashの現在のバージョン4.0.0では動作しなくなりました。この破壊的な変化の機能は、、、、およびに分割_.unique
されました。_.uniq
_.sortedUniq
_.sortedUniqBy
_.uniqBy
次のように使用できます_.uniqBy
:
_.uniqBy(data, function (e) {
return e.id;
});
...または次のようにします:
_.uniqBy(data, 'id');
ドキュメンテーション:https://lodash.com/docs#uniqBy
Lodash の古いバージョン (< 4.0.0) の場合:
データは各オブジェクトのプロパティによって一意でありid
、データはdata
変数に格納されていると仮定すると、_.unique()
次のように機能します:
_.unique(data, function (e) {
return e.id;
});
または、単純に次のようにします。
_.uniq(data, 'id');