我需要编写一个函数来生成 0 到 60 之间的 6 个随机数,然后将它们存储在给定的数组中。此外,此函数无法在返回的数组中存储重复项。好吧,我在 StackOverflow 上找到了一个非常有用的答案(感谢 Shouvik),我将在下面展示。
但这是我拥有大部分逻辑但错过了两个核心要素的东西
我试图在没有第二个临时数组的情况下执行此操作
我不知道如何在数组中找到重复项
我知道我必须 .indexOF 数组 我知道我必须 .push 一个新值到数组
这是我在找到解决方案之前的代码:
function gerarDezenas() {
let jogo = [];
for (var i = 0;i < 6;i++) {
jogo.push(Math.round(Math.random()*(1 , 60)+1));
if (jogo.indexOf(jogo) == //clueless)c{
.push() // ?? clueless either
}
}
return jogo
}
console.log(gerarDezenas())
所以我发现我需要另一个数组和 if 条件来比较它
function gerarDezenas() {
let jogo = [];
for (var i = 0; i < 6; i++) {
var temp = Math.round(Math.random()*(1 , 60)+1);
if (jogo.indexOf(temp) == -1) {
jogo.push(temp)
}
else {
i--;
}
}
return jogo
}
该代码现在可以按预期工作,但我并不真正理解它并且这里的问题!我不知道这些行在做什么:
if (jogo.indexOf(temp) == -1) {
jogo.push(temp)
}
else {
i--;
}
有人可以向我澄清 if 和 else 在做什么吗?
如果您阅读了帖子,非常感谢!
鸿蒙传说
收到一只叮咚
烙印99
相关分类