Closed HiginioUrbano closed 2 years ago
Si sabes mostrar todos los gastos también sabes mostrar los filtrados. Ten en cuenta que filtrarGastos
devuelve un array. Es lo mismo que con listarGastos
. Primero filtras y luego iteras el array resultante: para cada gasto llamas a la función de mostrarGastoWeb
.
Ya, si eso es lo que estoy intentacion hacer, pero el test me dice que gastos is not irable, aunque no tenga definida ninguna variable gastos
El vie, 5 nov 2021 a las 13:32, Pedro Prieto @.***>) escribió:
Si sabes mostrar todos los gastos también sabes mostrar los filtrados. Ten en cuenta que filtrarGastos devuelve un array. Es lo mismo que con listarGastos. Primero filtras y luego iteras el array resultante: para cada gasto llamas a la función de mostrarGastoWeb.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/issues/7#issuecomment-961859901, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUM3WNPWETHIZ3ADVOWANTTUKPFHJANCNFSM5HNXMTJQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Sigo con este problema después de tnatos días... incluso he copiado la función de un compañero que hablé con el con la desesperación para ver si era el fallo y me seguía tirando error, porque creo que la lógica de la función es correcta... no se que más hacer.
El vie, 5 nov 2021 a las 13:40, HIGINIO URBANO OCHOA (< @.***>) escribió:
Ya, si eso es lo que estoy intentacion hacer, pero el test me dice que gastos is not irable, aunque no tenga definida ninguna variable gastos
El vie, 5 nov 2021 a las 13:32, Pedro Prieto @.***>) escribió:
Si sabes mostrar todos los gastos también sabes mostrar los filtrados. Ten en cuenta que filtrarGastos devuelve un array. Es lo mismo que con listarGastos. Primero filtras y luego iteras el array resultante: para cada gasto llamas a la función de mostrarGastoWeb.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/issues/7#issuecomment-961859901, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUM3WNPWETHIZ3ADVOWANTTUKPFHJANCNFSM5HNXMTJQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Buenas,
A ver, tienes que revisar el código tranquilamente. El problema es fácil de detectar:
En primer lugar, la función mostrarGastoWeb
tal como la has hecho, acepta un parámetro gastos
que es un array. Dentro de la función iteras dicho array y muestras cada gasto:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/gestionPresupuestoWeb.js#L8
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/gestionPresupuestoWeb.js#L9
Lógicamente, en la llamada a la función pasas como parámetro el array de gastos: https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/generarDatosEstaticos.js#L30
Sin embargo, en la siguiente llamada con los gastos filtrados, iteras fuera de la función y le pasas a mostrarGastoWeb
un elemento en lugar de un array:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/generarDatosEstaticos.js#L33
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/generarDatosEstaticos.js#L35
Y encima tienes un error de sintaxis, porque la variable de iteración es gastoFiltrado
y la que utilizas dentro es gastosFiltrado
.
Por tanto, los gastos filtrados no se te mostrarán. Lo que tienes que hacer es llamar a mostrarGastoWeb
pasándole como parámetro el array gastosFiltrados
y quitar el bucle siguiente:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/generarDatosEstaticos.js#L33
Todo esto son fallos relativamente sencillos que tienes que ser capaz de detectar por ti mismo. Creo que te agobia demasiado hacer el trabajo lo antes posible: párate un rato, o incluso borra (o comenta) lo que no te funcione y trata de hacerlo de nuevo desde el principio. Por supuesto que habrá veces que te costará encontrar el fallo, pero ten paciencia y procede metódicamente: haz pruebas con console.log
para mostrar las variables o parámetros de la función que estés pasando, utiliza las herramientas de inspección del navegador, etc.
Dicho todo esto, en realidad el enunciado pide que mostrarGastoWeb
tome como parámetro un único gasto, no un array. Por tanto, el método que has seguido para mostrar los gastos filtrados (poner el bucle en generarDatosEstaticos.js
) es el correcto (si corriges el error de la variable que te he comentado, claro :wink:). Eso sí, para que funcione correctamente deberás quitar el bucle de gestionPresupuestoWeb.js
:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/gestionPresupuestoWeb.js#L9
Y renombrar el parámetro para que se llame gasto
en lugar de gastos
.
Un saludo, ánimo y paciencia, que no hace falta que corras tanto!!!
Claro Que intento ir rápido... Voy ya con una semana de retraso y esta semana seguro que subes otra actividad y más faena acumulada... No me gusta no ir al día.
Por cierto, he realizado los cambios que me has dicho y me sigue saltando un error, ahora me dice que no se puede leer el null de append... He actualizado mi codigo en mi repositorio por si le quieres echar un vistazo, estoy desesperado ya.
El lun, 8 nov 2021 a las 10:06, Pedro Prieto @.***>) escribió:
Buenas,
A ver, tienes que revisar el código tranquilamente. El problema es fácil de detectar:
En primer lugar, la función mostrarGastoWeb tal como la has hecho, acepta un parámetro gastos que es un array. Dentro de la función iteras dicho array y muestras cada gasto:
Lógicamente, en la llamada a la función pasas como parámetro el array de gastos:
Sin embargo, en la siguiente llamada con los gastos filtrados, iteras fuera de la función y le pasas a mostrarGastoWeb un elemento en lugar de un array:
Y encima tienes un error de sintaxis, porque la variable de iteración es gastoFiltrado y la que utilizas dentro es gastosFiltrado.
Por tanto, los gastos filtrados no se te mostrarán. Lo que tienes que hacer es llamar a mostrarGastoWeb pasándole como parámetro el array gastosFiltrados y quitar el bucle siguiente:
Todo esto son fallos relativamente sencillos que tienes que ser capaz de detectar por ti mismo. Creo que te agobia demasiado hacer el trabajo lo antes posible: párate un rato, o incluso borra (o comenta) lo que no te funcione y trata de hacerlo de nuevo desde el principio. Por supuesto que habrá veces que te costará encontrar el fallo, pero ten paciencia y procede metódicamente: haz pruebas con console.log para mostrar las variables o parámetros de la función que estés pasando, utiliza las herramientas de inspección del navegador, etc.
Dicho todo esto, en realidad el enunciado pide que mostrarGastoWeb tome como parámetro un único gasto, no un array. Por tanto, el método que has seguido para mostrar los gastos filtrados (poner el bucle en generarDatosEstaticos.js) es el correcto (si corriges el error de la variable que te he comentado, claro 😉). Eso sí, para que funcione correctamente deberás quitar el bucle de gestionPresupuestoWeb.js:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/01dac107cd0b23e56a3fa71b036f906c52fab6fd/js/gestionPresupuestoWeb.js#L9 Y renombrar el parámetro para que se llame gasto en lugar de gastos.
Un saludo, ánimo y paciencia, que no hace falta que corras tanto!!!
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/issues/7#issuecomment-962945150, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUM3WNKYXGLB23F33OQKKWLUK6HHVANCNFSM5HNXMTJQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Si no digo que no vayas rápido... Pero a veces ir rápido no te lleva a ningún sitio, nada más que a quedarte parado.
Como ahora, por ejemplo. ¿Qué tipo de error tienes?
Parece ser que haces append
sobre un elemento nulo. Si ejecutas la web en el navegador y muestras la consola:
Parece ser que raiz
es null
. raiz
en tu código es:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/b6d9fc24df7ebf9909688fe5936f612964a41676/js/gestionPresupuestoWeb.js#L46
Por tanto, parece que estás pasando un idElemento
que no existe. Tras revisar el código donde llamas a esa función, en generarDatosEstaticos.js
descubres que:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/b6d9fc24df7ebf9909688fe5936f612964a41676/js/generarDatosEstaticos.js#L41
Por tanto, parece que listado-gastos-filtrados-1
no es un id
válido. Con esto, vas al html y descubres que:
https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/blob/b6d9fc24df7ebf9909688fe5936f612964a41676/interaccionHTML.html#L26
Te sobra una s
:tada:
Ánimo y paciencia!!!
TIenes razón, lo siento Pedro, esta práctica en concreto me ha agotado mentalmente y me está costando verlo todo el triple que de normal. Intentaré prestar más atención aún.
El lun, 8 nov 2021 a las 10:42, Pedro Prieto @.***>) escribió:
Si no digo que no vayas rápido... Pero a veces ir rápido no te lleva a ningún sitio, nada más que a quedarte parado.
Como ahora, por ejemplo. ¿Qué tipo de error tienes? [image: imagen] https://user-images.githubusercontent.com/7632447/140718713-ba2da4a9-5eaa-4e58-92a6-24b9fbd68c42.png
Parece ser que haces append sobre un elemento nulo. Si ejecutas la web en el navegador y muestras la consola: [image: imagen] https://user-images.githubusercontent.com/7632447/140718824-40bf1e6e-92d7-4ca8-90b0-a6903a593388.png
Parece ser que raiz es null. raiz en tu código es:
Por tanto, parece que estás pasando un idElemento que no existe. Tras revisar el código donde llamas a esa función, en generarDatosEstaticos.js descubres que:
Por tanto, parece que listado-gastos-filtrados-1 no es un id válido. Con esto, vas al html y descubres que:
Te sobra una s 🎉
Ánimo y paciencia!!!
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HiginioUrbano/practica_dwec_gestor_presupuesto/issues/7#issuecomment-962975579, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUM3WNPG6BWXEMJONVLRHCDUK6LSDANCNFSM5HNXMTJQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Nada, hombre. Tranquilo y pregunta lo que haga falta!! Para eso estoy!! :wink:
Con respecto a lo de la rapidez, solo trataba de transmitirte calma, igual no lo he conseguido del todo. Vas bien en las entregas, no vas retrasado en exceso. Ten en cuenta que en las tutorías de cada semana comento los detalles más complicados y los problemas más habituales de las prácticas de la semana anterior. Si te esperas a la grabación de la tutoría la práctica te resultará más sencilla (o eso espero :wink: )
Ánimo pues!!
@pedroprieto No se como pasar la funcion filtrar gastos, he probado haciendolo con bucle y sin el bucle y no me funciona. No se me ocurre que mas hacer para filtrar los gastos a través de la fecha