嘿伙计们,我正在尝试做一个项目,但遇到了一个问题。我生成了 2 个随机数和运算符 - 然后我得到了这个方程的结果并将其存储在一个数组中。我想将其他 3 个随机生成的数字添加到数组中(所有数字都将显示在按钮上,用户可以单击其中一个来查看其结果是否正确)。它仅适用于数组中的第一个数字,这是正确的结果。我没能插入其他 3 个数字。你知道该怎么做吗?预先感谢您!
window.addEventListener('load', function () {
var rnum1 = generateRandomNumber1();
var rnum2 = generateRandomNumber2();
//pass the random numbers to the function
var data = generateRandomOperatorAndCorrectResult(rnum1, rnum2);
//data=["+", [5]]
var operator = data[0];
var allResults = data[results];
var mes = alert(allResults);
document.querySelector("#text").textContent = "Kolik je " + rnum1 + operator + rnum2 + "?";
});
function generateRandomOperatorAndCorrectResult(num1, num2) {
var operators = [{
sign: "+",
method: function (rnum1, rnum2) { return rnum1 + rnum2; }
},
{
sign: "*",
method: function (rnum1, rnum2) { return rnum1 * rnum2; }
},
{
sign: "-",
method: function (rnum1, rnum2) { return rnum1 - rnum2; }
}];
var results = [];
var selectedOperator = Math.floor(Math.random() * operators.length);
var randomOperator = operators[selectedOperator].sign;
var correctResult = (operators[selectedOperator].method(num1, num2)); //pass the numbers to the methods
results.push(correctResult);
var randomResult = generateRandomResults(3);
results.push(randomResult);
//return multiple values
return [randomOperator, [results]];
}
function generateRandomResults(nums) {
for (var i = 0; i < nums; i++) {
((Math.floor(Math.random() * 400) + 1))
}
}
最佳答案
您的问题与generateRandomResults
函数有关,该函数应该返回带有随机数的数组,但目前仅进行计算,而不将这些结果存储在任何地方。
相反,您需要创建一个数组并在生成随机数后返回它:
function generateRandomResults(nums) {
var randomNumbers = [];
for (var i = 0; i < nums; i++) {
randomNumbers.push((Math.floor(Math.random() * 400) + 1));
}
return randomNumbers;
}
这样,当检索函数的结果(代码中的var randomResult =generateRandomResults(3)
)时,变量将存储三个随机数的数组。这意味着您将拥有 to concatenate,而不是将结果插入 results
数组中。你的 randomNumbers 数组。所以最后你的代码应该是:
...
results.push(correctResult);
var randomResults = generateRandomResults(3);
results.concat(randomResults);
return [randomOperator, [results]];
...
关于javascript - 在 JavaScript 中生成带有随机数的按钮并插入到 DOM 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54280237/