从AS2中选择数组中的随机元素而不重复

时间:2015-07-03 16:47:52

标签: arrays flash actionscript actionscript-2 flash-8

所以是的,我有一个包含3个变量的数组,我想随机选择其中的2个而不重复,我确实发现别人问同样的事情,除了它很复杂,我正在寻找更简单的东西:Select random elements from an array without repeats?

这是我的代码:

var ar:Array=[k,l,m];
var raar:* = ar[Math.floor(ar.length * Math.random())];

1 个答案:

答案 0 :(得分:0)

您可以简单地生成一个随机索引,而不是为您的数组选取两次元素,该索引将是不会被使用(拾取)的元素,如下所示:

var a:Array = [10, 20, 30];
var n:Number = Math.floor(a.length * Math.random());

a.splice(n, 1);     // remove the element with the index n
trace(a);           // for n = 1, gives : 10, 30

希望可以提供帮助。