ローダッシュでオブジェクトの配列から重複を削除する方法

公開日:

更新日:

やり方 : _.uniqWith と _.isEqual メソッドを利用する

example.js

1
2  const obj1 = { name: 'taro', age: 25, job: 'sales' };
3  const obj2 = { name: 'yuki', age: 23, job: 'engineer' };
4  const obj3 = { name: 'taro', age: 25, job: 'sales' };
5
6  const objArray = [];
7  objArray.push(obj1, obj2, obj3);
8  console.log(objArray);
9
10  const newObjArray = _.uniqWith(objArray, _.isEqual);
11  console.log(newObjArray);

ログ結果 :

javascriptの実行結果コンソール

taroのオブジェクトが二つありましたが余分なものが削除されています。

name / age / job の全てのプロパティが一致しているもののみ同じとみなして一意にします。

※参考記事: lodash公式サイト isEqual

※参考記事: lodash公式サイト isEqualWith

以上、lodashを使用してオブジェクトを比較する際のTipsでした。

お役に立てましたら幸いです。

ご一読頂き、ありがとうございました。