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),因为评估结果是一个数组

简单解决方案:评估,正确解决方案:解析输入。