Para que no agregues imágenes al array de forma manual podrías hacer un loop que lo haga por ti.
Código Javascript
:
Ver originalvar unicas, cantidad, repetidas, i, n;
unicas = ["imagen1", "imagen2", "imagen3", "imagen4", "imagen5"]; //Imágenes únicas
cantidad = [4, 2, 1, 2, 1]; //Cantidad de veces que se repetirá la imagen (4 veces imagen1, 2 veces imagen2, 1 vez imagen3, etc)
repetidas = []; //Array con imágenes repetidas
//Loop para cada imagen
for (i = 0; i < unicas.length; i += 1) {
//Loop de cantidad de veces que agregamos imagen a array de repetidas
for (n = 0; n < cantidad[i]; n += 1) {
//Agregando a array de repetidas
repetidas.push(unicas[i]);
}
}
//Escogiendo un elemento aleatorio de array con imágenes repetidas
console.log(repetidas[Math.floor(Math.random() * repetidas.length)]);
En el array "cantidad" pones cuántas veces quieres que se repita cada imagen para aumentar la probabilidad de que se escogida al final en el array "repetidas".
La imagen en "unicas[0]" se repite la cantidad que esté en "cantidad[0]", "unicas[1]" se repite la cantidad que esté en "cantidad[1]", etc.
Saludos.