esto es js mínimo, todo lo demás está comentado. No puedo entender por qué "cards[i]" (la primera en el bucle for) tiene una línea ondulada roja debajo, no puedo ejecutar ningún comando de la consola. ¡Por favor ayuda!
let cards=document.querySelectorAll(".blocks"); let pic,card,rand; let finals = []; const count = 10; const max = 9; for(let k = 0; k < 1000; k++){ rand = Math.round(Math.random() * max); // !finals.includes(rand) && finals.push(rand) if(!finals.includes(rand)) finals.push(rand); } finals = finals.slice(0, count) setupCards(finals); function setupCards(arr){ for(let i=0;i<=arr.length;i++){ ====>cards[i].style.backgroundImage=`url(images/${arr[i]}.jpg)`; // cards[i].style.transform="rotateY(180deg)"; // cards[i].style.backgroundImage="url(images/back6.jpg)"; } }En esta condición prueba:
for(let i=0;i<=arr.length;i++){está dejando que i vaya de cero (que es el índice del primer elemento) a la longitud de la matriz (que lo lleva al último elemento más 1, que no existe).
Probar:
for(let i=0;i<arr.length;i++){