Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment faire un random par catégorie ?

    26 octobre 2016 à 10:19:41

    Bonjour, 

    J'ai deux tableaux où sont mis des images, des pantalons et des jupes. Je voudrais que si dans le résultat de mon random je tombe sur un pantalon, je lui associe un t-shirt par exemple (je créerais le tableau plus tard). 

    Le problème c'est que je ne sais pas comment faire un random par catégorie. 

    Exemple, j'ai 3 catégories :

    -short

    -pantalon

    -jupe

    Je fais random Rand(1,3) 

    Si je tombe sur short, je dois continuer avec pour lui associer la bonne tenue. 

    Comment puis-je faire cela ? Merci d'avance. 

    <script type="text/javascript">
    
    var random_images_array = ['besi11.png', 'besi21.png', 'besi22.png', 'besi23.png'];
    
    var random_images_array2 = ['betr11.png', 'betr21.png', 'betr31.png'];
    
    function getRandomImage(imgAr, path) {
        path = path || 'skirts/'; // default path here
        var num = Math.floor( Math.random() * imgAr.length );
        var img = imgAr[ num ];
        var imgStr = '<img src="' + path + img + '" alt = "">';
        document.write(imgStr); document.close();
    }
    
    function getRandomImage(imgAr, path) {
        path = path || 'trousers/'; // default path here
        var num = Math.floor( Math.random() * imgAr.length );
        var img = imgAr[ num ];
        var imgStr = '<img src="' + path + img + '" alt = "">';
        document.write(imgStr); document.close();
    }
    
    </script>
    </head>
    <body>
    
    <div>
        <!-- This script segment displays an image from the array -->
        <script type="text/javascript">getRandomImage(random_images_array, 'skirts/')</script>
    </div>
    
    <div>
        <!-- This script segment displays an image from the array -->
        <script type="text/javascript">getRandomImage(random_images_array2, 'trousers/')</script>
    </div>
    



    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      26 octobre 2016 à 11:36:44

      Bonjour,

      ton random doit servir à sélectionner au hasard une autre catégorie, ou à choisir un appareillage random dans une tenue définie ?

      Pour ton exemple : si tu fais un rand(1,3), que tu tombe mettons sur 2, et que tu veux choisir au hasard 1 ou 3 :

      var monPrems = Math.floor(Math.random() * 3 + 1); // 1er entre 1 et 3
      		var monDeuz = -1;
      		
      		while(monDeuz== -1)
      		{
      			var essai = Math.floor(Math.random() * 3 + 1);
      			if(essai == monPrems) {		/* on va devoir retenter */ }
      			else // essai est !=
      			{
      				monDeuz = essai;
      			}
      				
      		}
      		
      		console.log(monPrems + " , " + monDeuz);



      -
      Edité par Anonyme 26 octobre 2016 à 11:37:41

      • Partager sur Facebook
      • Partager sur Twitter
        26 octobre 2016 à 11:45:13

        Bonjour,

        Personnellement plutôt que de faire un tirage et retirer si j'ai déjà l'item je préfère avoir un tableau, faire un array_rand(). C'est bien plus efficace quand le nombre d'item que tu veux tirer approche du nombre d'item de ton tableau.

        • Partager sur Facebook
        • Partager sur Twitter
        Un petit +1 si je vous ai aidé est toujours appréciable :).

        Comment faire un random par catégorie ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown