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

150
Vistas
Manipulación de matrices JSON anidadas

tengo debajo de la matriz json

 var rowdataarray = [ { "products": "Cars", "solddate" : "2022-01-01", "noofitems" : "7" }, { "products": "books", "solddate" : "2022-01-01", "noofitems" : "10" }, { "products": "Cars", "solddate" : "2022-01-02", "noofitems" : "2" }, { "products": "Table", "solddate" : "2022-01-02", "noofitems" : "5" } ];

y luego tener una matriz de categorías

 const category = ["Cars","books","Table"]

basado en estas dos matrices tratando de crear una nueva matriz que me dará cada día para cada producto cuántos artículos se vendieron. La categoría anterior debe seguir al crear una matriz de datos. si el producto no se vende ese día, debe insertarse como 0.

matriz esperando

 var finalarray = [{ date: '2022-01-01', data: [7,10,0] }, { date: '2022-01-02', data: [2,0,5] }]

el siguiente código escrito no puede continuar hacia adelante

 $.when( $.each(category , function (key, val) { $.each(rowdataarray , function (key, x) { if(x.products == val){ finalarray .push({ "date" : x.solddate, "data" : [x.noofitems] }) } }) }) ).then(function () { console.log(test) });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

  1. Recopile los datos por fecha y asocie cada conteo por producto
  2. Mapa sobre las entradas y consulta cada una para su category

 var rowdataarray = [{"products":"Cars","solddate":"2022-01-01","noofitems":"7"},{"products":"books","solddate":"2022-01-01","noofitems":"10"},{"products":"Cars","solddate":"2022-01-02","noofitems":"2"},{"products":"Table","solddate":"2022-01-02","noofitems":"5"}] const category = ["Cars","books","Table"] const byDate = rowdataarray.reduce((m, { solddate: d, products: p, noofitems: c }) => ({ ...m, [ d ]: { // the date is the top-level key ...m[d], [ p ]: (m[d]?.[p] ?? 0) + parseFloat(c) // add the count to any existing product count } }), {}) console.log("byDate", byDate) const finalarray = Object.entries(byDate).map(([ date, counts ]) => ({ date, data: category.map(cat => counts[cat] ?? 0) })) console.info("finalarray", finalarray)
 .as-console-wrapper { max-height: 100% !important; }

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda