Je suis en train de créer un jeu de maths et je suis resté bloqué sur ce problème où je ne peux pas convertir la chaîne dans le tableau choisi au hasard (par var randomProblem
) en une expression. Les expressions doivent rester sous forme de chaînes car je veux afficher l'expression complète à l'écran pour que l'utilisateur réponde. J'ai essayé de stringifier le tableau qui a été choisi par var randomProblem
, puis supprimez les guillemets pour le transformer en une expression, mais cela n'a pas fonctionné.Comment transformer une chaîne dans un tableau en une expression?
Avec mon code actuel, var randomProblem
sélectionne un tableau aléatoire parmi var problems
. Ensuite, le contenu de var randomProblem
est transformé en chaîne en utilisant JSON.stringify()
et est stocké dans un var appelé processProblem
. Enfin, j'ai enregistré le contenu de var processProblem
dans la console et supprimé les guillemets pour voir quel serait le résultat.
par exemple, si randomProblem
a choisi ["6-18"]
comme le tableau aléatoire et est passé par JSON.stringify et dépouiller de ses citations, le résultat serait [16-8]
au lieu de [8]
.
(function playGame() {
var problems = [
["6 * 6 - 27"],
["1 * 10 - 1"],
["2 + 5 * 1"],
["5 * 10 - 42"],
["8 + 6 - 7"],
["(1 - 1) * 20"],
["4 * 3 - 6"],
["98 - 95"],
["16 - 8"],
["(5 + 9)/2"],
["(21 + 19)/5"],
["(4 - 3) * 7"],
["(7 - 1)/2"],
["(8 + 2)/5"]
];
//var problem = document.getElementById('problem');
var randomProblem = problems[Math.floor(Math.random()*problems.length)];
//var displayProblem = problem.innerHTML += randomProblem;
var processProblem = JSON.stringify(randomProblem);
console.log(processProblem.replace(/"/g, ""));
})();
Solution simple: eval, solution appropriée: analyser les entrées. – rlemon