-1

这将随机我的 numPool 并将随机三个数字推送到我的名为 pickNum 的数组中。我需要 pickeNum 只是一个索引而不是三个索引。谢谢,我将不胜感激。

var numPool:Array = [1,2,3];
var pickNum:Array = [];
var randomCount:Number = 3;
var r:Number;


for (var i = 0; i < randomCount; i++)
{
    r = Math.floor(Math.random() * numPool.length);
    pickNum[pickNum.length] = numPool.splice(r,1);
}

trace("Number Picked " + pickNum);
4

1 回答 1

0

不能说我完全理解你在说什么,但上面代码的问题是 splice 返回一个包含从数组拼接的值的数组。另外,最简单的方法就是推一下。因此,获取该值并将其推入 pickNum 数组的正确方法是:

pickNum.push(numPool.splice(r,1).pop());

如果你说你只想要池中的 1 个随机数,那你为什么需要一个循环?

于 2013-01-04T23:57:37.310 回答