Можно отбросить дробную часть, и добавить координаты как строку для идентификации одинаковых мест, в вашем примере погрешность и так чуть больше единицы. Вот пример:
const arr = [
{
city: 'NEW YORK',
lat: 40.718758,
long: -73.986427,
},
{
city: 'NEW YORK',
lat: 40.730223,
long: -73.986427,
},
{
city: 'NY',
lat: 40.72775,
long: -73.980396,
},
{
city: 'CLINTON',
lat: 38.739765,
long: -76.912096,
},
]
placed = 0;
for(let data of arr){
let cardinals = ~~data.lat +''+ ~~data.long;
let x = arr.find(o => o.cardinals === cardinals);
data.cardinals = cardinals;
if(typeof(x) === 'undefined'){
placed += 1;
}
data.placed = placed;
}
console.log(arr);