j'ai écrit un code pour un "Heads or Tails" jeu ci-dessous et:Javascript Comment concaténer des caractères séparés en une chaîne dans un tableau?
var userInput = prompt("Enter maximum number output: ");
function coinFlip() {
return (Math.floor(Math.random() * 2) === 0) ? 'Heads' ; 'Tails';
}
for (var i = 0; i < 6; i++)
{
var result = [];
result["randomNum"] = (Math.floor(Math.random()*userInput);
result["coin"] = (coinFlip());
}
Je suis en train de compter la somme des têtes au total et la somme des queues totales chacun avec le code:
var headsCount = 0;
var tailsCount = 0;
for (var j = 0; j < result["coin"].length; j++)
{
if (result["coin"] == 'Heads')
headsCount++;
else
tailsCount++;
}
Le seul problème est qu'il compte chaque caractère de 'Heads'
et 'Tails'
dans le tableau result["coin"]
comme séparé (tel que 'H'-'e'-'a'-'d'-'s'
) et non dans une chaîne complète (comme "Heads"
). Ainsi, au lieu d'incrémenter de 1 chaque fois que la boucle ci-dessus s'exécute, elle augmente de +5
.
Je veux qu'il soit incrémenté de +1
seulement.
Comment faire pour que le code lise la chaîne complète stockée dans result["coin"]
et non caractère par caractère?
EDITED - a changé le < 2 * 2
Vous avez beaucoup de problèmes. 'var result = []' crée un tableau vide, mais 'result [" coin "] n'ajoute rien au tableau :) Voyez par vous-même dans la console des développeurs Chrome. Ceci est entièrement indépendant du problème, mais c'est quelque chose de fondamental que vous devriez connaître. –
Qu'est-ce que c'est (Math.floor (Math.random() <2) === 0) 'supposé faire? Je pense que vous voulez probablement 'Math.random() <0.5? «Têtes»: «Queues» – jfriend00
Le Math.floor (Math.random() <2 === 0)? «Têtes» "Queues"; est supposé donner un résultat aléatoire 'Heads' ou 'Tails' à chaque fois que la boucle est exécutée. – 5120bee