1

我有一个包含 3 个变量的数组,我想随机选择其中 2 个而不选择相同的元素两次,我确实发现有人试图做同样的事情,除了他们使用 AS3,他们的问题完全不同:从没有重复的数组中选择随机元素?

这是我的尝试:

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

我还是 AS2 的新手,我不知道如何使用某些数据类型,我该如何让它工作?

4

1 回答 1

1

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

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

希望能有所帮助。

于 2015-07-04T11:12:55.347 回答