Aprogramar con JavaScript - 59 Recorrer una matriz con un bucle for anidado

Sdílet
Vložit
  • čas přidán 6. 09. 2024
  • En este tutorial de JavaScript, aprenderás cómo recorrer una matriz utilizando un bucle for anidado. Exploraremos cómo utilizar bucles for anidados para iterar eficientemente a través de los elementos de una matriz multidimensional. Te guiaré paso a paso en la sintaxis y la lógica de los bucles for anidados, y te mostraré cómo acceder a cada elemento de la matriz durante la iteración. Además, te proporcionaré consejos prácticos para trabajar con matrices de diferentes dimensiones y cómo realizar operaciones específicas en cada elemento. Con ejemplos claros y explicaciones detalladas, dominarás la técnica de recorrer matrices con bucles for anidados en JavaScript. ¡No te pierdas este video y mejora tus habilidades de programación con matrices en JavaScript!
    Si les gusto el video por favor me dejan un like, si aun no se suscribieron es un buen momento, recuerden compartir con quienes les pueda interesar y dejarme sus dudas o preguntas bajo el video, muchas gracias.
    JavaScript, bucle for anidado, matriz, recorrer matriz, iterar elementos, programación, desarrollo web, tutorial, ejemplos prácticos, sintaxis, matrices multidimensionales, manipulación de matrices, buenas prácticas, aprendizaje de JavaScript, bucle for anidado en JavaScript, estructuras de control en JavaScript, lenguaje de programación.

Komentáře • 57

  • @AprogramarConMarcos
    @AprogramarConMarcos  Před 2 lety +1

    Lista de reproducción del curso completo gratuito de JS
    czcams.com/play/PLpJ0pHgIwPoHeOw6_yRERfEF5pXjyAIcK.html

  • @soulhunter223
    @soulhunter223 Před 7 měsíci +3

    Muchas gracias por el repaso :D
    Me encanto la ultima frase sobre que no hay que grabarse en piedra la sintaxis y puedes servirte de el IDE para corregir, con la practica no tendrás tantos errores, usted es lo maximo!!

  • @felipeordonez8885
    @felipeordonez8885 Před 3 měsíci +1

    Muy buena explicación y muy buenos consejos, gracias profe

  • @martinlargentina937
    @martinlargentina937 Před 5 měsíci +1

    Espectacular como explicas. Te encontré buscando la explicación del forEach porque siguiendo un curso de Javascript en otro canal empezó a usar el forEach totalmente sacado de la galera (no lo había explicado), y ahora me quedé mirando todo tu curso (arranqué del primer video y me sirvió mucho como repaso y para reforzar conceptos). Deberías tener muchas más reproducciones. Ahora lo miro hasta el final.

  • @josemartinezflorez5230
    @josemartinezflorez5230 Před 10 měsíci +1

    muchas gracias por todos tus videos son lo mejor 😊😊😊

  • @axrare5879
    @axrare5879 Před 5 měsíci +1

    Muy buen video y muy bien explicado muchas gracias

  • @sscheinberg
    @sscheinberg Před 4 měsíci

    Super sencilla y clara la explicación. Gracias profe.

  • @mr.fabian8471
    @mr.fabian8471 Před rokem +1

    Muy bien explicado profe !!!

  • @DavidM-kw5wi
    @DavidM-kw5wi Před 3 měsíci

    Superbien explicado!! Muchas gracias. Se ha entendido muy bien.

  • @josue-Emma
    @josue-Emma Před rokem +1

    Excelente explicación !!

  • @rodrigogarsiolo7487
    @rodrigogarsiolo7487 Před 7 měsíci

    explicas muy bien y se entiende aun si no sabes mucho como yo...muchas gracias!!!

  • @juliomart8071
    @juliomart8071 Před rokem +1

    Profe que salvada usted no sabe la cantidad q he leido y los videos q he mirado y hasta ahora pude entender esto gracias de corazon

  • @carlosurzagasti2590
    @carlosurzagasti2590 Před rokem

    Muy buena eplicacion. me suscribo para seguir aprendiendo. Gracias!!

  • @Vhander73
    @Vhander73 Před 2 lety +5

    hola capo, exelente video, buscando info tengo que decir que de todos los que vi hasta ahora sos de los que mejor lo explico.
    tambien estoy comenzando y el tema de los bucles anidados cuesta entenderlo (cuando estas aprendiendo desde 0)
    te puedo consultar. estoy con un ejercicio que es encontrar el numero que mas se repite de un array, creo que se le llama encontrar la MODA en estadística jaja ya me googlee tanto para entenderlo que llegue a ver estadistica descriptiva xd
    si bien buscando me encontre con muchos tipos soluciones, pero a mi me interesa entenderlo con puro JS (vanilla) a puro FOR comun, iterando
    y tratar de ver como es que captura el numero mas frecuente (MODA)
    un ejemplo:
    array[2,3,2,3,3,2,3,4,4]
    aca el numero que mas se repite es el 3, (solo busco que muestre EL NUMERO que mas se repite)
    vi muchas soluciones en donde por lo general tienen el error de mostrar EL ULTIMO numero que mas se repite ( por ej en el array de arriba muestran el 4 )
    o casi todos los ejemplos muestran todos los numeros repetidos
    si podes hacer un video explicando eso seria un golazo

  • @pablocaballero9704
    @pablocaballero9704 Před rokem +2

    Hace poco comencé a estudiar JS y me había atorado bastante con este tema, pero gracias a este video pude comprenderlo muchísimo mejor , muchas gracias por compartir tu conocimiento a toda la comunidad.

  • @gastaclausful
    @gastaclausful Před 2 lety +2

    Tremendo, hace unos dias vi por primera vez los arrays, me mencionaron esto de recorrerlos de diferente formas y a la primera que lo vi me quedo clarísimo, muy buena explicación

  • @maurogeass8658
    @maurogeass8658 Před 2 lety

    Explicación perfecta, gracias

  • @joseanton7794
    @joseanton7794 Před rokem +1

    Se entiende perfectamente. Un saludo y muchas gracias.

  • @Wiiiiizard
    @Wiiiiizard Před 2 lety +1

    Gracias!!

  • @David_VS
    @David_VS Před rokem

    Imposible explicar mejor maestro. Me encanta !!

  • @castrocociosoledad758
    @castrocociosoledad758 Před 2 lety +1

    Muchisimas gracias, la verdad este tema lo habia visto en otros ejercicios y aun y copiando codigo no sé porque no funcionaba, ahora que lo entiendo puedo seguir. Este curso es oro y gratis, de verdad muchas gracias

  • @3874396122
    @3874396122 Před 2 lety +1

    muy bueno

  • @luisdeza9680
    @luisdeza9680 Před 2 lety +1

    Excelente explicacion Dr , muchas gracias por su aporte a la comunidad de programadores.

    • @AprogramarConMarcos
      @AprogramarConMarcos  Před 2 lety

      Gracias Luis, lamentablemente hasta marzo no podre retomar los cursos.

  • @vortegar
    @vortegar Před rokem +1

    ufff gracias por la info

  • @sofia3644
    @sofia3644 Před 2 lety +1

    Espectacular!! Me sirvio muchisimo, fuiste el que mejor explico el tema :)

  • @majortomate
    @majortomate Před 2 lety +1

    Excelente explicación, amigo. Muchas gracias. Me suscribo.

  • @Nacho-jf3dj
    @Nacho-jf3dj Před 2 lety +1

    Muy buena explicación, gracias.

  • @sarutobi9534
    @sarutobi9534 Před 2 lety

    Excelente explicación! Estoy aprendiendo a programar y esto me estaba costando un huevo, ahora lo entendí perfectamente. Te ganaste un sub.

  • @omargian_stw1305
    @omargian_stw1305 Před 2 lety +1

    Hola excelente explicación! Muy buen aporte. Tengo duda si en vez de tener solo arrays de números tengo objetos, se puede usar esta técnica? Lo que quiero es buscar coincidencias clave: valor entre dos objetos donde cada uno tiene un array de objetos anidados y que me retorne el objeto anidado donde se encontró la coincidencia. Muchas gracias.

  • @diegosayago8130
    @diegosayago8130 Před rokem +1

    Excelente video, la verdad este tema me mareaba bastante, te hago una consulta, como haces o que extension usas para que VSCode te muestre al lado del console.log lo que te devuelve la consola?

    • @AprogramarConMarcos
      @AprogramarConMarcos  Před rokem

      Extension Quoka se explica en los primeros videos. no recuerdo en cual. Saludos

  • @danielaguilar7570
    @danielaguilar7570 Před 2 lety +1

    con un .map tambien se puede?

  • @Pablo-io2js
    @Pablo-io2js Před 3 lety +1

    Hola Marcos, está muy bueno e interesante el video. Sólo que lo vi dos veces porque hay algo que no me quedó claro y te lo quería consultar a ver si me cierra la idea.
    Te paso a comentar cómo lo entiendo yo al código y, luego, voy al punto donde me quedó la duda:
    En el primer for index = 0, y recupera el objeto [1,2,3]
    Entra al for anidado, x = 0, se cumple la condición y recupera el "1"; vuelve al mismo for anidado, ahora x = 1, se cumple la condición y recupera el "2"; vuelve al mismo for anidado, ahora x = 2, se cumple la condición y recupera el "3"; vuelve al mismo for anidado, ahora x = 3, NO se cumple la condición y se sale del for anidado.
    Vuelve al for principal, ahora index = 1, y recupera el objeto [4,5,6]
    Entra al for anidado Y ACÁ ES DONDE ME COMPLIQUÉ: ¿El valor de x = 0? ¿Por qué? Si en el primer for, cuando se terminó el for anidado, x terminó valiendo 3. ¿O acaso se REINICIA el valor de x = 0 (del for anidado) cuando la condición NO se cumple y se sale del for?
    Espero que halla quedado clara mi pregunta, traté de explicarla lo mejor posible.
    Muchas gracias, de antemano, por tomarte la molestia de explicarme la duda.
    Saludos!

    • @AprogramarConMarcos
      @AprogramarConMarcos  Před 3 lety +1

      Te estas marinado porque solo ves X, pero no es X, es X e Y, yo el ejemplo creo que lo hice con fila y columna, creo que le puse fila al primer for y al segundo x. Lo podes ver como una tabla de excel con filas y columnas, el primer bucle controla las filas, el segundo las columnas o celdas, osea cuando entre en la primer fila se encuentra con un objeto (el primer Array a analizar), supongamos la fila 0 [1,2,3], dentro de la fila 0 es trabajo del segundo bucle recorrer cada columna o celda como le quieras decir, osea (el primer dato del array, luego el segundo y el tercero) cuando termines, salta a la otra fila:
      fila 0 --> / celda 0 / celda 1 / celda 2 TERMINO, salta a la segunda fila
      fila 1 --> / celda 0 / celda 1 / celda 2 TERMINO, salta a la tercera fila
      fila 2 --> / celda 0 / celda 1 / celda 2 TERMINO, sale del bucle.
      Fila representa OBJETOS COMPLETOS en este caso ARRAY [ ... ]
      Celda representa LOS DATOS dentro de cada array, osea VALORES. 1 2 3 4 5 6 7 8 9
      for (let fila = 0; fila < miArray.length; fila ++) {
      for (let celda = 0; celda < fila.length; celda ++) {
      console.log (fila[celda]);
      }
      }

    • @Pablo-io2js
      @Pablo-io2js Před 3 lety +2

      @@AprogramarConMarcos Hola Marcos, muchas gracias por responder. En realidad lo de fila y columna lo entendí bien. La "x" a la que me refiero es a la variable local que tiene el for anidado "let x = 0" (que por convenio, se pone "j"), y a la variable local "index" del for original.

    • @Pablo-io2js
      @Pablo-io2js Před 3 lety

      Entonces, la variable local de un for ¿Reinicia a su valor al valor original cuando se sale del ciclo? Es acá donde me había colgado, no en cómo opera el primer for y el for anidado. Concretamente, en la variable del for anidado me había quedado tildado, ya que al salir del tercer ciclo (del for anidado) y entra al for original, y vuelve al for anidado, el valor de la variable vuelve a valer 0 y se ejecuta el código imprimiendo cada índice del segundo objeto. Pero recordar que cuando se termina el tercer ciclo del for anidado, la variable local termina valiendo 3 y por eso se sale del ciclo por no cumplirse la condición.
      Espero que esta vez me halla explicado mejor, quizás la primera vez no me expliqué bien, o quizás hubo confusión porque la variable local del for anidado se llamaba "x" .

    • @AprogramarConMarcos
      @AprogramarConMarcos  Před 3 lety +1

      @@Pablo-io2js Si tenes razon por convenio suele ser i y j, si entendiste el proceso entonces date cuenta que cada for anidado arranca poniendo en 0 la variable x.
      Podes verlo con un console.log (x) dentro del bucle anidado, veras que el resultado es 012, 012, 012 y sera asi por cada objeto que detecte el primer bucle for si todos los arrays tienen 3 elementos como en el ejemplo.
      Espero que ahora si, quede todo claro. Te lo muestro aqui abajo con las variables i y j como deberia haber ser por ley.
      Seria asi, espero se entienda:
      Fila i 0 - [1,2,3]
      Celda j 012 - 1 2 3
      Fila i 1 - [4,5,6]
      Celda j 012 - 4 5 6
      Fila i 2 - [7,8,9]
      Celda j 012 - 7 8 9
      Saludos, decime si ahora se entendió.

    • @Pablo-io2js
      @Pablo-io2js Před 3 lety +1

      @@AprogramarConMarcos Creo que si, creo que lo entendí de esta manera (corregime si me equivoco): la variable "j" del for anidado, la cuál vale 0 porque ese valor se lo puse arbitrariamente, incrementa su valor en 1 en cada ciclo del for anidado mientras se cumpla la condición. Cuando la condición NO se cumpla, se sale del bucle for anidado y se REINICIA a 0 el valor de "j" (o sea, a su valor original) porque las variables LOCALES son variables temporales que se crean cuando comienza a ejecutarse el método y se destruyen cuando termina de ejecutarse. De otro modo, si no fuese así, en el segundo ciclo del 1er for, cuando vuelve a entrar al for anidado, "j" valdría 3 y no se ejecutaría el código porque no cumple la condición, y sólo imprimiría, del for anidado, 1, 2, 3.

  • @DonecEris
    @DonecEris Před rokem +1

    Recorres pero sólo una matriz cuadrada

  • @leonozuna3242
    @leonozuna3242 Před 3 měsíci

    Lo que no entendí es si la variable fila es necesaria o solo era para ejemplificar y hacer mas entendible la explicación
    Si en lugar de let fila = miArray[index] y debajo for (let x = 0; < fila.length; x++ ) {
    console.log(fila[x]);
    Se usa simplemente for (let x = 0; < miArray[index].length; x++ ) {
    console.log(fila[x]); ????
    He intentado en el codigo y no funciona, y es lo que no entiendo, se supone que let fila es igual a miArray[index], entonces en lugar de (let x = 0; < fila.length; x++ ) por que no se puede usar (let x = 0; < miArray[index].length; x++ )
    A ver si algun hero me resuelve la duda

    • @leonozuna3242
      @leonozuna3242 Před 3 měsíci

      Me respondo a mi mismo en caso de que alguien llegue a tener la misma duda XD
      La solución si no se crea una variable para guardar los elementos de i [ ] cuando i vale 0 (o 1 o 2), es simplemente poner en el segundo for, en el console.log elementos de i [ ] con j [-,-,-]
      for (let j = 0; j < array[i].length; j++) {
      console.log(array [ i ] [ j ]) 1,2,3,4,5,6,7,8,9
      }

    • @AprogramarConMarcos
      @AprogramarConMarcos  Před měsícem

      Sabrás que no subí más material, es que lamentablemente como dije muchas veces el que un canal de CZcams funcione depende del comportamiento de los usuarios, la empresa no mira lo que yo hago, registra lo que ustedes hacen y reconocido por muchos usuarios no entienden como los videos tienen tan pocas reproducciones, likes, etc.
      Se que muchos de ustedes realmente se preocupan e intentan dar una mano para hacer crecer el canal, pero está claro que no es suficiente.
      Por tal motivo decidí cambiar el modo de hacer las cosas, les propongo darles acceso a mi nube de One Drive privada donde tengo mucho material e iré subiendo muchísimo más (contrate un tera), tanto material que no les alcanzara una vida para estudiar y aprender lo que necesiten.
      Les solicito una donación voluntaria de al menos 13 euros, dicho acceso será hasta Julio del 2025, casi un año, ósea 1 euro al mes.
      Los interesados me pueden escribir por privado a mi correo: aprogramar@outlook.com
      No les estoy vendiendo nada, saben que mis cursos son libres y gratuitos, les pido una donación para que ustedes me ayuden a mí y como agradecimiento les doy acceso a material mío y otro que juntado a lo largo de los años, podrán descargarse mis cursos y verlos sin propagandas las veces que necesiten y muchísimo más. La idea es que en un futuro los cursos simplemente los suba a la nube y los comparta con quien realmente los aprecia.

  • @braianredmond6898
    @braianredmond6898 Před 2 lety

    Buen video. Lo unico los carteles que pones en la.edicion desvian un poco la atencion.