JavaScript  

Remove Duplicates From An Array Of Objects Using JavaScript

Introduction

We can remove duplicates from an array of objects using the following methods,

Using Set and Array.from() method

This method involves converting the array of objects into a Set object, automatically removing duplicates, and then converting it back into an array using Array.from().

let arr = [{
    id: 1,
    name: 'John'
}, {
    id: 2,
    name: 'Jane'
}, {
    id: 1,
    name: 'John'
}];
let uniqueArray = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
JavaScript

Using filter() method

This method uses the filter() method to iterate over the array of objects and check if the current object already exists in a new array. If it doesn't, it is added to the new array. 

let arr = [{
    id: 1,
    name: 'John'
}, {
    id: 2,
    name: 'Jane'
}, {
    id: 1,
    name: 'John'
}];
let uniqueArray = arr.filter((obj, index, self) => index === self.findIndex((t) => (t.id === obj.id && t.name === obj.name)));
JavaScript

Using reduce() method

This method uses the reduce() method to iterate over the array of objects and check if the current object already exists in a new array. If it doesn't, it is added to the new array. 

let arr = [{
    id: 1,
    name: "John"
}, {
    id: 2,
    name: "Jane"
}, {
    id: 3,
    name: "John"
}, {
    id: 4,
    name: "Jane"
}];
let uniqueArr = arr.reduce((acc, current) => {
    let exists = acc.some(item => item.id === current.id && item.name === current.name);
    if (!exists) {
        acc.push(current);
    }
    return acc;
}, []);
console.log(uniqueArr);
JavaScript

These are the many ways to remove duplicates from an array of objects.