Выбрать случайные элементы из массива без повторов в 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
Надеюсь, что это может помочь.