Debería usar otro tipo de estructura, o crear otra matriz con la misma cantidad de índices para verificar si la imagen ya se está utilizando, con booleanos por ejemplo.
Mi sugerencia sería alguna estructura como:
var imágenes = [
{
“id”: 1,
“enlace”: “http://imageUrl.com”,
“usado”: falso
},
{
“id”: 2,
“enlace”: “http://image2Url.com”,
“usado”: falso
}
];
// Agrega un poco más si quieres
- ¿Qué lenguajes de programación debo aprender para desarrollar sitios web y aplicaciones? ¿Y en qué orden? Gracias.
- ¿Por qué debería uno aprender diseño web para crear sitios web desde cero cuando hay muchas plataformas de desarrollo web disponibles como Wix?
- ¿Cuándo se cargan las imágenes de fondo CSS en el ciclo de vida de una página web?
- ¿Qué se entiende por desarrollador full stack?
- ¿Por qué mi sitio HostGator no carga el archivo CSS?
Luego solo genera un índice aleatorio entre 0 y el número de imágenes.
Haz un bucle como:
// Inicializar variables.
contador var = 0; var randomIndex = 0;
// Define el número de imágenes generadas que deseas
var displayImages = 2;
while (counter! == displayImages) {
randomIndex = Math.floor (Math.random () * images.length);
if (images [randomIndex] [“used”] === false) {
images [randomIndex] [“used”] = true;
/ * SU CÓDIGO PARA VISUALIZAR AQUÍ * /
// tal vez algo como: (sin uso de jquery)
var contenedor = document.querySelector (“. contenedor”);
container.innerHTML + = ‘
‘;
// Incremente el contador solo si no se ha usado antes.
contador ++;
}
}
Solo asegúrese de que las imágenes de visualización que configure sean menores o iguales que la cantidad de imágenes que tiene en la matriz, para evitar un bucle infinito.
Espero que haya ayudado de alguna manera.