1) {lat: 52.289591, lng: 21.030541}
2) {lat: 52.289591, lng: 21.030541}
3) {lat: 51.09464, lng: 17.019549}
0: {lat: 52.289591, lng: 21.030541}
1: {lat: 51.09464, lng: 17.019549}
const unique = arr.filter((n, i, a) => n === a.find(m => m.lat === n.lat && m.lng === n.lng));
const unique = Object.values(arr.reduce((acc, n) => (acc[`${n.lat},${n.lng}`] = n, acc), {}));
const unique = [].concat(...Object
.values(arr.reduce((acc, n) => ((acc[n.lat] = acc[n.lat] || {})[n.lng] = n, acc), {}))
.map(Object.values)
);
const unique = Array.from(new Set(arr.map(JSON.stringify)), JSON.parse);
const arr = [
{lat: 52.289591, lng: 21.030541},
{lat: 52.289591, lng: 21.030541},
{lat: 51.09464, lng: 17.019549},
];
const uniq = arr.filter(
(el, i, array) => !array
.slice(0, i)
.find(({lat, lng}) => lat === el.lat && lng === el.lng)
);