Estoy buscando encontrar la cantidad de usuarios en función de una ID en un período de tiempo determinado
Mi hora de inicio es 1512709024000 y mi hora de finalización es 10 minutos
Necesito agrupar a todos los usuarios del objeto de abajo
[{ "name": "user1", "id": "1", "timestamp": 1512754583000 }, { "name": "user2", "id": "1", "timestamp": 1512754631000 }, { "name": "user3", "id": "2", "timestamp": 1512709065294 }, { "name": "user4", "id": "2", "timestamp": 1512711000000 }, { "name": "user4", "id": "1", "timestamp": 1512754436000 } ]Puedes usar un filtro para que esto funcione
const items = [{ "name": "user1", "id": "1", "timestamp": 1512754583000 }, { "name": "user2", "id": "1", "timestamp": 1512754631000 }, { "name": "user3", "id": "2", "timestamp": 1512709065294 }, { "name": "user4", "id": "2", "timestamp": 1512711000000 }, { "name": "user4", "id": "1", "timestamp": 1512754436000 } ]; const timestamp = 1512709024000; const limit = timestamp + 10 * 60 * 1000; console.log(items.filter((item) => item.timestamp >= timestamp && item.timestamp <= limit)); const a = [{ "name": "user1", "id": "1", "timestamp": 1512754583000 }, { "name": "user2", "id": "1", "timestamp": 1512754631000 }, { "name": "user3", "id": "2", "timestamp": 1512709065294 }, { "name": "user4", "id": "2", "timestamp": 1512711000000 }, { "name": "user4", "id": "1", "timestamp": 1512754436000 } ] function filterByTimeAndId(arr, startTimeInMs, noOfMinutes, id) { const noOfMillis = noOfMinutes * 60 * 1000; const endTimeInMs = startTimeInMs + noOfMillis; return arr.filter(a => a.id === id && a.timestamp >= startTimeInMs && a.timestamp <= endTimeInMs); } console.log(filterByTimeAndId(a, 1512709024000, 10, 1));