Tengo el siguiente código generando una URL de imagen basada en una matriz de objetos y sus propiedades:
for (let s = 0; s < amount; s++) { console.log(projects[s].imagelocation + projects[s].images[0]); }Como ejemplo, esto me da el siguiente resultado:
img/EnergyGoStix-assets/GoStix1.jpg img/Premier-assets/PremierStudios1.jpg img/Quickstix-assets/QuickStix1.jpg img/MotherMonster-assets/MotherMonster1.jpg img/Stepping-assets/SteppingBooklet1.jpg Sin embargo, la propiedad de las images es en realidad una matriz. Esta matriz contiene varias fuentes de imágenes, como GoStix1.jpg , GoStix2.jpg , etc. Esta cantidad de fuentes de imágenes varía entre los proyectos.
¿Cómo creo un bucle dentro de un bucle que incorporaría images.length donde primero pasará por cada proyecto y generará todas las fuentes de imagen, antes de pasar al siguiente?
PD: Perdón por el terrible título de la publicación, no tenía idea de cómo llamar a esto. Si alguien puede encontrar uno mejor para ayudar a ser más preciso, hágamelo saber para que pueda actualizarlo.
¿Qué tal esto?
for (let s = 0; s < amount; s++) { for (let y in projects[s].images){ console.log(projects[s].imagelocation + projects[s].images[y]); } }Si desea mostrar la matriz de imágenes solo en una consola, use:
for (let s = 0; s < amount; s++) { console.log(projects[s].imagelocation + [...projects[s].images]); }Simplemente anide los bucles y tenga cuidado de usar diferentes nombres de variables en la inicialización de cada uno.
for (let s = 0; s < amount; s++) { for (let i = 0; i < projects[s].images.length; i++) { console.log(projects[s].imagelocation + projects[s].images[i]); } }Mejor que otro bucle for sería usar un método de iteración de Array:
for (let s = 0; s < amount; s++) { projects[s].images.forEach(image => { console.log(projects[s].imagelocation + image); }); }