Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于上一个值从数组中拾取值_Javascript_Arrays_Random - Fatal编程技术网

Javascript 基于上一个值从数组中拾取值

Javascript 基于上一个值从数组中拾取值,javascript,arrays,random,Javascript,Arrays,Random,我有一个数组,它有我需要的行大小,并像这样随机选取 const number=[“8”、“4”、“6”、“2”]; const randomNumber=数字[Math.floor(Math.random()*Numbers.length)]; console.log(randomNumber)考虑下面的小游戏,它使用您的案例,计算源数组中随机数的总和 它检查总和是否大于等于12。游戏结束了 这有帮助吗 const number=[8,4,6,2]; var随机数=0; var总和=0; 函

我有一个数组,它有我需要的行大小,并像这样随机选取

const number=[“8”、“4”、“6”、“2”];
const randomNumber=数字[Math.floor(Math.random()*Numbers.length)];

console.log(randomNumber)
考虑下面的小游戏,它使用您的案例,计算源数组中随机数的总和

它检查总和是否大于等于12。游戏结束了

这有帮助吗

const number=[8,4,6,2];
var随机数=0;
var总和=0;
函数calcSum(){
randomNumber=数字[Math.floor(Math.random()*Numbers.length)];
总和=总和+随机数;
如果(总和>=12){
document.getElementById('calculatedTotal')。innerHTML=“您的分数超过12分,请单击“开始游戏”重新开始游戏!”;
总和=0;
随机数=0;
}
否则{
document.getElementById('calculatedTotal')。innerHTML=sum;
}
}

文件
开始游戏!!
你的分数:

考虑下面的小游戏,它使用您的案例,计算源数组中随机数的总和

它检查总和是否大于等于12。游戏结束了

这有帮助吗

const number=[8,4,6,2];
var随机数=0;
var总和=0;
函数calcSum(){
randomNumber=数字[Math.floor(Math.random()*Numbers.length)];
总和=总和+随机数;
如果(总和>=12){
document.getElementById('calculatedTotal')。innerHTML=“您的分数超过12分,请单击“开始游戏”重新开始游戏!”;
总和=0;
随机数=0;
}
否则{
document.getElementById('calculatedTotal')。innerHTML=sum;
}
}

文件
开始游戏!!
你的分数:

每次选择随机数时

  • 你必须过滤掉那些不能构成12的数字
  • 从总和中减去拾取的数字,然后重复步骤1,直到总和达到0
  • 编辑: 根据问题更新,假设您使用的是引导

    document.getElementById(“开始”).addEventListener(“单击”),_=>{
    设sum=+document.getElementById(“sum”).value;
    让numbers=document.getElementById(“numbers”).value.split(',').map(x=>+x);
    让我们选择=[];
    而(总和>0){
    //根据“总和”筛选可用的“数字”`
    numbers=numbers.filter(x=>x`col-${n}`)。join(“”);
    });
    
    总数:
    编号:
    开始
    每次选择随机数时

  • 你必须过滤掉那些不能构成12的数字
  • 从总和中减去拾取的数字,然后重复步骤1,直到总和达到0
  • 编辑: 根据问题更新,假设您使用的是引导

    document.getElementById(“开始”).addEventListener(“单击”),_=>{
    设sum=+document.getElementById(“sum”).value;
    让numbers=document.getElementById(“numbers”).value.split(',').map(x=>+x);
    让我们选择=[];
    而(总和>0){
    //根据“总和”筛选可用的“数字”`
    numbers=numbers.filter(x=>x`col-${n}`)。join(“”);
    });
    
    总数:
    编号:
    开始
    这非常好,但问题是,一旦我将其应用于引导中的行,它有时会跳过它,致力于修复它,但这个解决方案是一个很好的开始。很酷,最好的!我用HTML示例更新了这个问题,请看一看,这非常好,但问题是,一旦我将其应用于引导中的行,有一天它会出现让我们跳过它,努力修复它,但这个解决方案是一个好的开始。酷,最好的!我用HTML示例更新了问题,请看一看,这如何适用于每次单个数字而不是返回数组,因为我已经在循环内使用它。我用HTML示例更新了问题,请看一看答案已更新,但是,这个解决方案将返回任意数量的col,加起来等于12。这很好,但这里的问题是,所有的都在一个循环中,所以我将在另一个循环中有一个循环,并且不起作用。问题中没有给出足够的上下文,我相信您应该有您的主要问题的答案。您应该尝试将答案合并到你的代码,并试图解决循环问题。这如何适用于每次单个数字而不是返回数组,因为我已经在循环中使用了数组。我用HTML示例更新了问题,请看一看答案已经更新,但是解决方案将返回加起来为12的任何列数。这很好,但问题是这里的em是一个循环中的全部,因此我将在另一个循环中有一个循环,并且不起作用。问题中没有给出足够的上下文,我相信您应该找到主要问题的答案。您应该尝试将答案合并到代码中,并尝试解决循环问题。