¿Te gustaría Java desde cero?
Tenemos los diplomados que necesitas.¡Haz clic aquí!

 

 

 

El concepto de jQuery collection y la programación funcional es a veces un gran olvidado y sin embargo en más de una ocasión nos puede ser muy útil en la programación del día a día. Vamos a ver un ejemplo sencillo en el cual deseamos sumar el contenido de una serie de párrafos . En principio es algo que con jQuery no tiene mucha miga sería suficiente con construir algo del siguiente estilo:

  1. <html>
  2. <head>
  3. <script src=“https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js”></script>
  4. <script type=“text/javascript”>
  5. $(document).ready(function() {
  6. var total=0;
  7. $(“#sumar”).click (function() {
  8. $(“p”).each(function() {
  9. total+= parseInt($(this).text());
  10. })
  11. $(“#resultado”).html(total);
  12. })
  13. })
  14. </script>
  15. </head>
  16. <body>
  17. <p>
  18. 1
  19. </p>
  20. <p>
  21. 2
  22. </p>
  23. <p>
  24. 3
  25. </p>
  26. <input type=“button” value=“sumar” id=“sumar”/>
  27. <div id=“resultado”>
  28. </div>
  29. </body>
  30. </html>

Como podemos ver hemos recorrido la lista de nodos y los hemos sumado todo funciona correctamente.

¿Ahora bien es la mejor forma de hacerlo? . Esta es una buena pregunta ya que en jQuery estamos mas que habituados a utilizar variables globales para realizar este tipo de operaciones y programación imperativa . ¿Es posible utilizar programación funcional en nuestro código y presentar una solución más flexible?. La realidad es que sí . Podemos usar la función map de jQuery y convertir la lista de nodos DOM en un sencillo array de numeros y luego usar una reducción para sumarlos . Esto nos permite aumentar la flexibilidad ya que una vez disponemos del array podríamos definir operaciones complementarias de forma sencilla.

  1. <html>
  2. <head>
  3. <script src=“https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js”></script>
  4. <script type=“text/javascript”>
  5. $(document).ready(function() {
  6. $(“#sumar”).click (function() {
  7. let numeros=$(“p”)
  8. .map(function() {
  9. return parseInt($(this).text());
  10. })
  11. .get();
  12. let suma=numeros.reduce(function(total, numero) {
  13. return total+numero;
  14. },0)
  15. $(“#resultado”).html(resultado);
  16. })
  17. })
  18. </script>
  19. </head>
  20. <body>
  21. <p>
  22. 1
  23. </p>
  24. <p>
  25. 2
  26. </p>
  27. <p>
  28. 3
  29. </p>
  30. <input type=“button” value=“sumar” id=“sumar”/>
  31. <div id=“resultado”>
  32. </div>
  33. </body>
  34. </html>

En este caso la función map nos ha devuelto un array de valores a nivel de jQuery con la función get nos quedamos con el array puro.

Acostumbremonos a usar más la programación funcional con las librerías o frameworks habituales ya que nos permitirá trabajar de forma más cómoda y flexible con jQuery collection en nuestro código.

 

Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.

¿Te gustaría Java desde cero?
Tenemos los diplomados que necesitas.¡Haz clic aquí!
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax