Bonjour, je suis nouveau à coder et j'ai besoin d'aide avec mon javascript. Voici ce que je dois faire. (J'aimerais une explication avec la réponse, j'essaie sincèrement d'apprendre.) Voici ce que je dois faire.
J'ai besoin d'afficher une image avec la voiture aléatoire qu'elle choisit. Strong>
(Les options sont BMW, Saab et Maserati. Si vous gagnez un BMW, il devrait y avoir une photo d'un BMW) Je n'ai aucune idée de la façon de faire cela, je n'ai jamais travaillé avec des tableaux. P>
3 Réponses :
peut-être supprimer les déclarations IF-else car ces déclarations ne remplissent pas votre objectif. Ils attribuent des voitures basées sur le nom des entrées utilisateur qui ne sont pas ce que vous voulez. Vous voulez que votre programme choisit une voiture aléatoire à partir du tableau pour celui que l'utilisateur est. p>
Pour ce faire, essayez d'utiliser la fonction MATH.RANDOM () pour générer un nombre aléatoire compris entre 0 et la taille de votre tableau et enregistrer ce numéro dans une variable. Utilisez cette variable pour accéder à votre tableau. p>
Une partie de ce que je dois faire est de donner une nouvelle voiture à Chris et Sasha lorsqu'ils entrent dans le site.
Cela devrait vous permettre de commencer à obtenir une voiture aléatoire et l'image à apparaître. Maintenant, ce que vous avez pour Chris et Sasha semble être correct (juste aucune image), essayez de modifier cela et votre réponse à continuer.
// can define an array as new Array() or hard bracket syntax var carImages = [ // image for BMW 'https://cdn.motor1.com/images/mgl/PR8w2/s1/bmw-serie-8-2019.jpg', // image for Saab 'https://upload.wikimedia.org/wikipedia/commons/e/e5/Saab_900_GLE_%282%29_%28crop%29.jpg', // image for Maserati 'https://cdn.motor1.com/images/mgl/A8Jkx/s1/maserati-granturismo-zeda.jpg', ]; // The Math.random() function returns a decimal number between 0 - 1 inclusive of 0, but not 1 // So this variable will create a number between 0 - 2. We need zero to two because the // zero index is the image for the BMW, 1 is for the Saab, and 2 is for the Maserati. // Arrays start at 0 for the first element in JavaScript var randomIntegerBetweenZeroToTwo = Math.floor(Math.random() * 3); // display the image on the screen. The src attribute takes the URL of the image and the // alt attribute is for screen readers or if the image did not load. document.write('<img src=' + carImages[randomIntegerBetweenZeroToTwo] + ' alt="car"/>');
D'autres vous ont montré comment choisir une valeur aléatoire à partir d'un tableau. C'est une bonne et une pratique courante, mais c'est un peu beaucoup lorsque vous utilisez beaucoup de hasard. randojs.com fait des choses aléatoires faciles et lisibles. Utilisation de Randojs, tout ce que vous avez à faire pour choisir une valeur aléatoire à partir d'un tableau est indiqué rando (myarray) .value code> au lieu de
myarray [math.floor (math.random () * myarray. longueur)] code> (qui choisit une décimale aléatoire entre 0 et 1, la multiplie par la longueur de votre matrice, puis arrondit le résultat pour produire un nombre de 0 à un de moins de la longueur de votre réseau. Les tableaux sont 0-indexés dans JavaScript - puis attrape la valeur de myarray à cet indice). Pour éviter ce petit peu de complexité qui vient généralement avec le hasard dans JavaScript, tout ce que vous avez à faire pour utiliser Randojs est inclut les éléments suivants dans la balise de la tête de votre document HTML:
<script src="https://randojs.com/1.0.0.js"></script>
Est-ce que cela répond à votre question? Obtenez un élément aléatoire de JavaScript Array