He visto otras publicaciones sobre este tema, pero lamentablemente no ayudaron. Tengo una variedad de objetos. Esta matriz de objetos tiene un visitorId de visitante y este identificador de visitorId aparece en varios objetos dentro de la matriz. Quiero map esta matriz de objetos, extraer todo el identificador de visitorId para que sea el encabezado de una nueva matriz Set de todos los objetos que pertenecen a este identificador de visitorId . Algunas identificaciones solo tienen un objeto y otras tienen múltiples.
"events": [ { "url": "/pages/a-big-river", "visitorId": "d1177368-2310-11e8-9e2a-9b860a0d9039", "timestamp": 1512754583000 }, { "url": "/pages/a-small-dog", "visitorId": "d1177368-2310-11e8-9e2a-9b860a0d9039", "timestamp": 1512754631000 }, { "url": "/pages/a-big-talk", "visitorId": "f877b96c-9969-4abc-bbe2-54b17d030f8b", "timestamp": 1512709065294 }, { "url": "/pages/a-sad-story", "visitorId": "f877b96c-9969-4abc-bbe2-54b17d030f8b", "timestamp": 1512711000000 }, { "url": "/pages/a-big-river", "visitorId": "d1177368-2310-11e8-9e2a-9b860a0d9039", "timestamp": 1512754436000 }, { "url": "/pages/a-sad-story", "visitorId": "f877b96c-9969-4abc-bbe2-54b17d030f8b", "timestamp": 1512709024000 } ] }He intentado muchas cosas, incluyendo
const map = [...new Map( data.map(visitor => [visitor.visitorId, visitor]))];pero esto solo guarda la última instancia de un visitante determinado y elimina todos los demás.
También probé esto
const visitors = data.map(data => data.visitorId) console.log(visitors); const set = new Set(visitors); const hasDuplicates = set.size < data.length; console.log(hasDuplicates);pero solo extrae todas las identificaciones y elimina el resto de los datos. Y las identificaciones no están agrupadas.
Cualquier ayuda sería apreciada.