• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

107
Vistas
Recorrer una matriz de objetos y crear una matriz para cada elemento con el mismo valor en un índice determinado

Necesito crear una matriz que contenga todos los valores de visits si la fecha es la misma sin crear matrices de date duplicadas

 const MOCK = { data: [ {date: "Aug.03", name: "Nihal Pandit", visits: 3 }, {date: "Aug.03", name: "Anthony Elias", visits: 3 }, {date: "Aug.04", name: "Alex P.", visits: 2 }, {date: "Aug.05", name: "Alex P.", visits: 3 }, {date: "Aug.05", name: "Anthony Elias", visits: 3 }, ] }

Pero no estoy seguro de un método que le permita comparar los valores de una iteración a otra al recorrer una matriz. Creo que Array.reduce() podría funcionar, pero no entiendo cómo usar reducir correctamente en este punto.

Estoy buscando un resultado que se parece a:

 [["Aug.03", 3, 3], ["Aug.04",2],["Aug.05", 2, 3]

Entonces necesito una matriz para cada fecha (la matriz debe contener esa fecha) y todos los valores de visit de cada objeto que contiene esa fecha.

 let newArray = [] let visitCountValues = MOCK?.data?.map((item, idx)=> { let value = Object.values(item); if(value[0] === value[0]){ newArray.push([value[0], value[1]) } })
almost 3 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

después de actualizar tu pregunta, entendí mejor que puedes hacer algo como esto

 const visits = [ {date: "Aug.03", name: "Nihal Pandit", visits: 3 }, {date: "Aug.03", name: "Anthony Elias", visits: 3 }, {date: "Aug.04", name: "Alex P.", visits: 2 }, {date: "Aug.05", name: "Alex P.", visits: 3 }, {date: "Aug.05", name: "Anthony Elias", visits: 3 }, ] const result = Object.values(visits.reduce((res, {date, visits}) =>{ const existing = res[date] || [date] res[date] = [...existing, visits] return res }, {})) console.log(result)

almost 3 years ago · Juan Pablo Isaza Denunciar

0

Puede usar reduce para agrupar la array en un objeto with la fecha as property, and Object.values to get the matrices mapeadas.

 const MOCK = { data: [ {date: "Aug.03", name: "Nihal Pandit", visits: 3 }, {date: "Aug.03", name: "Anthony Elias", visits: 3 }, {date: "Aug.04", name: "Alex P.", visits: 2 }, {date: "Aug.05", name: "Alex P.", visits: 3 }, {date: "Aug.05", name: "Anthony Elias", visits: 3 }, ] } const dateGroups = Object.values(MOCK.data.reduce((acc, { date, visits }) => ({ ...acc, [date]: [...(acc[date] || [date]), visits] }), {})) console.log(dateGroups)

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda