Est-il possible de choisir une variable dans un tableau une seule fois? J'ai fait une fonction de clic où il me donne un devis aléatoire chaque fois que je clique. Comment puis-je faire en sorte qu'il ne choisisse plus la même variable?
Ce que je veux pouvoir faire, c'est cliquer sur le bouton autant de fois que je le veux sans refaire la même citation tant qu'il y a plus de citations "invisibles". (Je n'ai pas inclus toutes les citations originales dans les extraits de code).
var quotes = [
'Catsy',
'Jope',
'Nope',
'Hey',
]
function newQuote() {
var randomNumber = Math.floor(Math.random()*(quotes.length));
document.getElementById('quoteDisplay').innerHTML = quotes[randomNumber];
}
html {
background: url(bild.jpg)
no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
h1 {
text-align: center;
color: rgb(77, 77, 77);
font-size: 120px;
font-family: "Courier New", monospace;
}
div {
color: white;
text-align: center;
font-family: "Courier New", monospace;
justify-content: center;
font-size: 45px;
margin-right: 400px;
margin-left: 400px;
}
button {
height:30px;
width:150px;
margin: 300px -100px;
position: absolute;
top:50%;
left:50%;
font-size: 16px;
font-family: "Courier New", monospace;
}
<!DOCTYPE html>
<html>
<head>
<title>Bop</title>
<link rel="stylesheet" type="text/css" href="fp.css">
</head>
<body>
<h1>Mjao</h1>
<div id="quoteDisplay">
</div>
<button onclick="newQuote()">Another one!</button>
<script src="fp.js"></script>
</body>
</html>
4 réponses
Je pense que ce que vous voulez, c'est simplement supprimer la citation du tableau après l'avoir montrée ... donc quelque chose comme ça devrait fonctionner:
quotes.splice(randomNumber, 1);
Si vous l'ajoutez à newQuote () en bas ...
Supprimez simplement l'élément du tableau lorsque vous en avez terminé.
quotes.splice(randomNumber, 1);
Ou vous poussez simplement les mots utilisés dans un tableau séparé et vérifiez avec
usedWordsArray.includes('Catsy')
Un moyen simple de procéder consiste à mélanger une copie du tableau, puis à le parcourir. Voir cette réponse pour savoir comment le mélanger:
Comment randomiser (mélanger) un tableau JavaScript?
Questions connexes
Questions liées
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.