从数组中选择随机元素,在AS2中无需重复

问题描述 投票:1回答:1

我有一个包含3个变量的数组,我想随机选择2个变量而不选择两次相同的元素,我确实找到了一个试图做同样事情的人的问题,除了他们使用的是AS3,他们的问题完全是不同:Select random elements from an array without repeats?

这是我的尝试:

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

我还是AS2的新手,我不怎么利用某些数据类型,如何使它起作用?

arrays flash actionscript actionscript-2 flash-8
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

希望有所帮助。
© www.soinside.com 2019 - 2024. All rights reserved.