Выбрать случайные элементы из массива без повторов в AS2

Так что да, у меня есть массив, содержащий 3 переменные, я хочу случайно выбрать 2 из них, не повторяя, я нашел кого-то еще, спрашивающего то же самое, за исключением того, что это было слишком сложно, и я ищу что-то более простое: выберите случайные элементы из массив без повторов?

вот мой код:

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

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

Надеюсь, что это может помочь.

Другие вопросы по тегам