Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

141
Vistas
d3js v7 convierte matriz en jerarquía

Tengo datos formateados de la siguiente manera

 [['x',2,3,'a'],['x',2,4,'b'],['y',1,3,'a']]

Quiero convertirlo en algo como a continuación

 { 'name': 'top level', 'children': [ { 'name': 'x', 'children': [ { 'name': 2, 'children': [ { 'name': 3, 'children': [ { 'name': 'a', 'children': [] } ] }, { 'name': 4, 'children': [ { 'name': 'b', 'children': [] } ] } ] } ] }, { 'name': 'y', 'children': [ { 'name': 1, 'children': [ { 'name': 3, 'children': [ { 'name': 'a', 'children': [] } ] } ] } ] } ] }

Quiero graficar los datos en un árbol ordenado en el que se pueda hacer clic.

No pude usar d3.nest porque ya estaba en desuso y no tengo idea de cómo hacerlo con vanilla javascript. Cualquier ayuda es apreciada.

Editar: según los punteros de @Andrei Savin, intenté ejecutar el siguiente código. el problema es que mi matriz no cambia, ¿por qué?

 let sampleInput = [['x',2,3,'a'],['x',2,4,'b'],['y',1,3,'a']]; let result = []; let level = { result }; sampleInput.forEach(b => { b.forEach(c => { c.toString().split('/').reduce((d,e)=>{ if(!d[e]){ d[e] = {result:[]}; d.result.push({e,'children':d[e].result}); } return d[e]; },level); }) });
about 4 years ago · Juan Pablo Isaza
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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda