Math.round(Math.random)返回3个唯一数字问题 [英] Math.round(Math.random) return 3 unique numbers issue
本文介绍了Math.round(Math.random)返回3个唯一数字问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
好的,所以我需要返回3个彼此不相等的随机数。然后,当再次运行该功能时,数字也不应该是上一次运行中选择的任何数字。
Okay, so I need to return 3 random numbers that do not equal each other. Then when running the function again the numbers should also not be any of the numbers selected in the previous run.
我写了一个函数来执行此操作,但我一直将未定义作为返回值之一。
I wrote up a function to do so, but I keep getting undefined as one of the return values.
我在这里做错了什么?
f1 = 0; f2 = 0; f3 = 0;
function randomNumber(r1, r2, r3) {
ranNumb = Math.floor(Math.random()*51);
if (ranNumb != r1 && ranNumb != r2 && ranNumb != r3) {
return ranNumb;
}
else {
randomNumber(r1, r2, r3);
}
}
$(document).ready( function() {
$("#left_btn, #right_btn").click(function() {
f1 = randomNumber(f1, f2, f3);
f2 = randomNumber(f1, f2, f3);
f3 = randomNumber(f1, f2, f3);
alert(f1+" "+f2+" "+f3);
});
});
推荐答案
你的问题在这里:
else {
randomNumber(r1, r2, r3);
}
您需要返回
递归调用 randomNumber
的结果。
You need to return
the result of the recursive call to randomNumber
.
else {
return randomNumber(r1, r2, r3);
}
这篇关于Math.round(Math.random)返回3个唯一数字问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文