JavaScript - Calcular subtotales

 
Vista:

Calcular subtotales

Publicado por Isa (4 intervenciones) el 04/08/2020 11:19:35
Muy buenas,

He empezado a programar en JavaScript hace muy poco y avanzo de manera muy lenta.
Llevo varios días intentando resolver el siguiente problema y no lo consigo:

Necesito obtener de la tabla que muestro abajo el importe total por mes sin contar con el concepto 'Otros'.

Fecha Importe Concepto
ene-19 300 Comida
ene-19 400 Material de oficina
ene-19 250 Ropa
ene-19 600 Otros
feb-19 150 Material de oficina
feb-19 720 Ropa
feb-19 280 Otros
feb-19 1000 Comida
feb-19 540 Ropa

Es decir, el resultado quedaría así:

Fecha Importe
ene-19 950
feb-19 2410


Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Calcular subtotales

Publicado por joel (895 intervenciones) el 04/08/2020 11:53:22
Hola Isa, la tabla a la que haces referencia donde se encuentra? en un array? o forma parte de una pagina web?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Calcular subtotales

Publicado por Isa (4 intervenciones) el 04/08/2020 11:54:51
Buenas Joel,

Es un array.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Calcular subtotales

Publicado por joel (895 intervenciones) el 04/08/2020 11:55:42
Puedes adjuntarnos el array para poder hacer pruebas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Calcular subtotales

Publicado por Isa (4 intervenciones) el 04/08/2020 12:05:45
1
Data = {"Fecha":[ene-19,ene-19, ene-19,ene-19, feb-19, feb-19, feb-19, feb-19, feb-19], "Importe":[300,400,250,600,150,720,280,1000,540], "Concepto": [Comida, Material de oficina, Ropa, Otros, Material de Oficina, Ropa, Otros, Comida, Ropa]}

He usado un trozo del array a modo de ejemplo. Se trata de una base de datos viva que se actualiza continuamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Calcular subtotales

Publicado por joel (895 intervenciones) el 04/08/2020 16:36:51
Hola Isa, seria algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Data = {
    "Fecha":["ene-19", "ene-19", "ene-19", "ene-19", "feb-19", "feb-19", "feb-19", "feb-19", "feb-19"],
    "Importe":[300,400,250,600,150,720,280,1000,540],
    "Concepto": ["Comida", "Material de oficina", "Ropa", "Otros", "Material de Oficina", "Ropa", "Otros", "Comida", "Ropa"]
}
 
result=Data.Fecha.reduce((acum, el, index) => {
    if (Data.Concepto[index]!="Otros") {
        acum[el] = acum[el]+Data.Importe[index] || Data.Importe[index];
    }
    return acum;
}, {});
 
console.log(result); // {"ene-19": 950, "feb-19": 2410}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Calcular subtotales

Publicado por Isa (4 intervenciones) el 04/08/2020 16:43:50
Qué maravillas!

Muchísimas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar