То есть, возьмем так. У вас "data", это свойство некоего объекта, а в примере оно как массив объектов под переменной data. Если из такого объекта нужно получить уникальные данные, а не запросом по известному, то нужно до цикла объявить переменную, которая будет хранить уникальный признак (id). В цикле ее значение проверяется со значением этого же свойства из данных и если не равны, то вывод и сохранение его в переменной.
var data = [
{
"lat": 65.56,
"lon": 56.56,
"dateTime": "2020-06-10 10:42:19.3200000",
"user": {
"id": 1,
"username": "Viktor",
"phone": "111"
},
"isGpsEnable": 0,
"isNetworkEnable": 0
},
{
"lat": 65.56,
"lon": 56.56,
"dateTime": "2020-06-10 10:42:35.8000000",
"user": {
"id": 1,
"username": "Viktor",
"phone": "111"
},
"isGpsEnable": 0,
"isNetworkEnable": 0
},
{
"lat": 65.56,
"lon": 56.56,
"dateTime": "2020-06-10 10:43:16.3770000",
"user": {
"id": 1,
"username": "Viktor",
"phone": "111"
},
"isGpsEnable": 0,
"isNetworkEnable": 0
},
{
"lat": 65.56,
"lon": 56.56,
"dateTime": "2020-06-10 10:45:22.4430000",
"user": {
"id": 1,
"username": "Viktor",
"phone": "111"
},
"isGpsEnable": 0,
"isNetworkEnable": 0
},
{
"lat": 56.8586421,
"lon": 60.5508243,
"dateTime": "2020-06-10 14:06:28.2400000",
"user": {
"id": 3,
"username": "Вега",
"phone": "222"
},
"isGpsEnable": 1,
"isNetworkEnable": 1
},
{
"lat": 56.8586421,
"lon": 60.5508243,
"dateTime": "2020-06-10 14:06:35.6000000",
"user": {
"id": 3,
"username": "Вега",
"phone": "222"
},
"isGpsEnable": 1,
"isNetworkEnable": 1
}
];
var id = 0;
data.forEach( (d) => {
if(id != d.user.id) {
id = d.user.id;
console.log(
'Name: ' + d.user.username +
', Phone: ' + d.user.phone +
', Latitude: ' + d.lat +
', Longitude: ' + d.lon +
', Time: ' + Date.parse(d.dateTime) + ' or ' + d.dateTime.match(/.+(?=\.)/)
)
}
});
В примере вывод в консоль.