Código:
estaba pensando si habia alguna forma de hacer lo mismo pero con un solo bucle. no me sorprenderia si alguien alguna vez [en la web o en mundo de desarrollo] ya habia propuesto un cuestionamiento similar con alguna solucion. intente buscar pero no se si tiene algun nombre particular que desconozco. en fin, este es el mismo ejemplo pero con un solo bucle.for(var i = 0, a = ["blanco", "gris", "marron", "amarillo"]; i < a.length; i++){ for(var j = 0, b = ["gato", "ganado", "caballo", "perro", "gallo"]; j < b.length; j++) document.write(b[j], " ", a[i], "<br />"); }
Código:
lo cierto es que es un tanto esoterico para los que no estamos acostumbrados a expresiones complejas en un bucle. adicional, lo mas seguro en la practica nadie se acordara la logica que esconde. el ejemplo simula hasta solo dos bucles; mas de dos no lo intente porque en la practica rara vez he visto la necesidad de tres bucles anidados. intente hacerlo lo mas simplicado que me permite mi torpe cabeza en calculos. estoy seguro que debe haber alguna otra forma mas simplificada aun, pero aun no alcanzo ese nivel. en lugar de explicarle, se los dejo para que lo analicen porque la verdad no sabria por donde comenzar a explicarlo sin complicarlo. for(var i = 0, j = 0, a = ["blanco", "gris", "marron", "amarillo"], b = ["gato", "ganado", "caballo", "perro", "gallo"]; j < b.length; j+= Math.floor(++i/a.length), i%= a.length) document.write(b[j], " ", a[i], "<br />");