为了生成宾果票据生成器,我需要改组阵列。
当我按下按钮时,我应该从数组中检索值(例如array(1,2,3,4,5,6,7,8,9)
)。我
如果我先回溯五个随机值可能是2 5 7 4 8
。如果再次按下该按钮,则应该执行除先前已重试的值(例如1 3 9 6 7
)
答案 0 :(得分:0)
我不知道你是否被允许修改输入,但为什么不尝试这样的事情:
// passing your array as argument
// passing the total number you want to extract as argument
function getRandNumbers( a:Array, requested_numbers:Number ):Array
{
// verify we don't request to much numbers
if ( requested_numbers > a.length )
{
trace( "Not enought available numbers in array" );
return null;
}
results_array = new Array(); // create our output array
while( results_array.length < requested_numbers )
{
rnd = Math.floor( Math.random() * a.length );
results_array.push( a[rnd] );
a.splice( rnd, 1 ); // remove the random result
}
}
现在您确定每次调用getRandNumbers时,您的数组将只包含未使用的数字。