A quick and easy way to remove duplicate Objects within an Array of Objects by key.
function removeDuplicateObjectsByKey(array, fieldToDuplicateCheck) {
const newArray = []
const arrayKeys = []
array.forEach((item) => {
// check if we don't already have the value within the arrayKeys array
if (!arrayKeys.includes(item[fieldToDuplicateCheck])) {
// push this value to the arrayKeys array
arrayKeys.push(item[fieldToDuplicateCheck])
// push this object to the newArray array
newArray.push(item)
}
})
// return the newArray with the filtered out duplicate objects
return newArray
}
// A test array of objects. In a real world situation you would have more than just the 'name' key on the objects
const initialArrayOfObjects = [
{
name: 'π',
},
{
name: 'π',
},
{
name: 'π«',
},
{
name: 'π¦',
},
{
name: 'π¦',
},
]
// will filter out the duplicates by the 'name' field
let removeDuplicateObjects = removeDuplicateObjectsByKey(initialArrayOfObjects, 'name')
// [ { name: 'π' }, { name: 'π«' }, { name: 'π¦' } ]
Cover Photo Credits to Charl Folscher
Top comments (0)