Javascript 如何将数组中的字符串转换为表达式?
我正在创建一个数学游戏,遇到了一个问题,我无法将随机选取的数组中的字符串(通过Javascript 如何将数组中的字符串转换为表达式?,javascript,arrays,Javascript,Arrays,我正在创建一个数学游戏,遇到了一个问题,我无法将随机选取的数组中的字符串(通过var randomProblem)转换为表达式。表达式需要保留为字符串,因为我想在屏幕上显示完整的表达式供用户回答。我试图对var randomProblem拾取的数组进行字符串化,然后删除引号以将其转换为表达式,但没有成功 在我的当前代码中,var randomProblems从var problems中选择一个随机数组。然后使用JSON.stringify()将var randomProblem的内容转换为字符串
var randomProblem
)转换为表达式。表达式需要保留为字符串,因为我想在屏幕上显示完整的表达式供用户回答。我试图对var randomProblem
拾取的数组进行字符串化,然后删除引号以将其转换为表达式,但没有成功
在我的当前代码中,var randomProblems
从var problems
中选择一个随机数组。然后使用JSON.stringify()
将var randomProblem
的内容转换为字符串,并存储在名为processProblem
的变量中。最后,我将var processProblem
的内容记录到控制台中,并删除双引号以查看结果
例如,如果randomProblem
选择[“6-18”]
作为随机数组,并对其引号进行JSON.stringify和剥离,结果将是[16-8]
而不是[8]
(函数游戏(){
风险值问题=[
["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=问题[Math.floor(Math.random()*problems.length)];
//var displayProblem=problem.innerHTML+=randomProblem;
var processProblem=JSON.stringify(随机问题);
console.log(processProblem.replace(/“/g,”);
})();
这项工作如您所料:
(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).replace(/"/g, "");
console.log(processProblem);
console.log(eval(processProblem)[0]);
})();
我评估字符串化的
随机问题的内容
并获取其第一个值(索引为0),因为评估结果是一个数组简单解决方案:评估,正确解决方案:解析输入。