Salut,
Il suffit de gérer un second tableau d'exclusion pour sauvegarder les images et de les supprimer du premier tableau :
Code :
- function randomImage(array, exclusion){
- var arrayLength = array.length;
- var index = Math.floor((Math.random() * arrayLength) + 0);
- var image;
- //on check que la valeur n'exhiste pas dans l'exclusion
- if(array[index].indexOf(exclusion) < 0 || exclusion.length === 0){
- //on ajoute l'image dans le tableau d'exclusion
- exclusion.push(array[index]);
-
- //on stocke l'image
- image = array[index];
-
- /* on le supprime pour éviter les doublons et de rentrer en stackoverflow a cause de la récurrence de la méthode */
- array.splice(index,1);
- return image
- } else{
- randomImage(array, exclusion);
- }
- }
- var array = ["img1", "img2", "img3", "img4"];
- var exclusion = [];
- while(array.length !== 0){
- var imageToDisplay = randomImage(array,exclusion);
- console.log(imageToDisplay);
- }
|
Voilà, tu pourra afficher tes images uniquement une fois ( il faudra que tu adapte un petit peu le code mais la logique est là )
le lien JSFiddle : https://jsfiddle.net/z6kdfryb/2/
Message édité par OrcusZ le 19-01-2016 à 10:04:01
---------------
Made you your own sentence without believing that of the others...