Javascript 更改输入值(如果等于其他输入值)

Javascript 更改输入值(如果等于其他输入值),javascript,random,Javascript,Random,我一直在尝试使用IF语句来解决这个问题,但我不再认为这可能是最好的方法,也不确定现在应该尝试什么 我有6个随机生成的输入值。前5个从各自的名字列表中随机抽取一个名字,第6个从所有组合的列表中随机抽取一个名字。这应该是一个包含所有名称的单独数组,还是有方法组合数组 另一个问题是,第6个输入需要保持随机化,直到其输入值不等于前5个输入值中的任何一个 请告诉我您将如何检查第6个值与其他5个值,然后继续获取新值 谢谢你的帮助 函数getRandom1() { 变量名称=[ “红色1”, “蓝色1”,

我一直在尝试使用IF语句来解决这个问题,但我不再认为这可能是最好的方法,也不确定现在应该尝试什么

我有6个随机生成的输入值。前5个从各自的名字列表中随机抽取一个名字,第6个从所有组合的列表中随机抽取一个名字。这应该是一个包含所有名称的单独数组,还是有方法组合数组

另一个问题是,第6个输入需要保持随机化,直到其输入值不等于前5个输入值中的任何一个

请告诉我您将如何检查第6个值与其他5个值,然后继续获取新值

谢谢你的帮助

函数getRandom1() { 变量名称=[ “红色1”, “蓝色1”, “绿色1” ]; 返回名称[Math.floor(Math.random()*names.length)]; } 函数getRandom2() { 变量名称=[ “红色2”, “蓝色2”, “绿色2” ]; 返回名称[Math.floor(Math.random()*names.length)]; } 函数getRandom3() { 变量名称=[ “红色3”, “蓝色3”, “绿色3” ]; 返回名称[Math.floor(Math.random()*names.length)]; } 函数getRandom4() { 变量名称=[ “红色4”, “蓝色4”, “绿色4” ]; 返回名称[Math.floor(Math.random()*names.length)]; } 函数getRandom5() { 变量名称=[ “红色5”, “蓝色5”, “绿色5” ]; 返回名称[Math.floor(Math.random()*names.length)]; } 函数getRandomX() { 变量名称=[ “红色1”, “蓝色1”, “绿色1”, “红色2”, “蓝色2”, “绿色2”, “红色3”, “蓝色3”, “绿色3”, “红色4”, “蓝色4”, “绿色4”, “红色5”, “蓝色5”, “绿色5” ]; 返回名称[Math.floor(Math.random()*names.length)]; } 函数myFunction(){ document.getElementById(“input_1”).value=(getRandom1()); document.getElementById(“input_2”).value=(getRandom2()); document.getElementById(“input_3”).value=(getRandom3()); document.getElementById(“input_4”).value=(getRandom4()); document.getElementById(“input_5”).value=(getRandom5()); document.getElementById(“input_X”).value=(getRandomX()); }

1.
2.
3.
4.
5.

1
2
3
4
5
X
这不是一个优雅的解决方案,但您可以执行“while”循环,该循环将随机化第6个输入,直到它不同为止

function myFunction() {
    var input1 = getRandom1();
    var input2 = getRandom2();
    var input3 = getRandom3();
    var input4 = getRandom4();
    var input5 = getRandom5();
    var input6 = getRandomX();
    document.getElementById("input_1").value = input1;
    document.getElementById("input_2").value = input2;
    document.getElementById("input_3").value = input3;
    document.getElementById("input_4").value = input4;
    document.getElementById("input_5").value = input5;
    while (input6==input1 || input6==input2 || input6==input3 || input6==input4 || input6==input5) {
        input6 = getRandomX();
    }
    document.getElementById("input_X").value = input6;
}

更好的方法是在随机选择前5个输入后生成第6个输入的名称数组,这样它就不会包含以前选择的值。

谢谢您的建议。我会给他们一个尝试,只是没有任何效果,不知道从哪里开始。当然!如果您需要第6次输入的名称数组生成帮助,请告诉我。