JavaScriptで配列の中の重複を削除する方法


  1. Setを使用する方法: Setオブジェクトは一意な値の集合を持ちます。配列をSetに変換し、重複を削除します。
const array = [
  { id: 1, name: 'Apple' },
  { id: 2, name: 'Banana' },
  { id: 1, name: 'Apple' }, // 重複したオブジェクト
  { id: 3, name: 'Orange' },
  { id: 2, name: 'Banana' }
// 重複したオブジェクト
];
const uniqueArray = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArray);
  1. filterとindexOfを使用する方法: filterメソッドとindexOfメソッドを組み合わせて、重複を削除します。
const array = [
  { id: 1, name: 'Apple' },
  { id: 2, name: 'Banana' },
  { id: 1, name: 'Apple' }, // 重複したオブジェクト
  { id: 3, name: 'Orange' },
  { id: 2, name: 'Banana' }
// 重複したオブジェクト
];
const uniqueArray = array.filter((obj, index, self) =>
  index === self.findIndex((el) =>
    el.id === obj.id && el.name === obj.name
  )
);
console.log(uniqueArray);
  1. lodashライブラリを使用する方法: lodashライブラリのuniqBy関数を使用して、重複を削除します。
const _ = require('lodash');
const array = [
  { id: 1, name: 'Apple' },
  { id: 2, name: 'Banana' },
  { id: 1, name: 'Apple' }, // 重複したオブジェクト
  { id: 3, name: 'Orange' },
  { id: 2, name: 'Banana' }
// 重複したオブジェクト
];
const uniqueArray = _.uniqBy(array, JSON.stringify);
console.log(uniqueArray);

これらの方法を使用すると、JavaScriptで配列の中の重複したオブジェクトを削除することができます。ご参考までにお使いください。