data is a list of objects. We want to filter all duplicates out, including the original value, based on multiple object properties.
My code works in filtering duplicates out based on multiple object properties, but how can we adjust it to filter out the original value as well?
The goal is to end up with a list of these duplicates.
const data = [{
name: 'x',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'y',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'z',
latitude: '40.5',
longitude: '85.7'
}];
const duplicates = data
.filter((obj, index, array) =>
array.findIndex(o =>
o.latitude === obj.latitude &&
o.longitude === obj.longitude
) != index
);
console.log(duplicates);
Output:
[{
name: 'y',
latitude: '45.9',
longitude: '50.2'
}]
Desired output:
[{
name: 'x',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'y',
latitude: '45.9',
longitude: '50.2'
}]