"Zufallsmodus" oder " shuffle ein array

Sagen, ich habe ein array:

myList:Array = new Array();
myList = [1,2,3,4,5,6,7,8,9];

myRandomList:Array = new Array();

for (var i:uint = 0; i < myList; i++) {
            var item:Number = Math.floor(Math.random() * myList.length-1) + 1;
            myRandomList.push(item);
      }

Die einzige Sache ist, ich möchte myRandomList, um nicht doppelte zahlen...gibt es eine Möglichkeit, um eine zufällige Zahl aus der ersten Liste und dann ABZIEHEN, so dass ich don ' T wählen Sie diese Nummer zweimal?

UPDATE:

Sah ich gerade diese Methode mischen, die ein array von shadetyler.blogspot.com/2008/12/array-shuffle-as3.html

Array.prototype.shuffle = function(){
for(var i = 0; i < this.length; i++){
var a = this[i];
var b = Math.floor(Math.random() * this.length);
this[i] = this[b];
this[b] = a;
}

Jedoch, gibt es eine Möglichkeit, diese umschreiben als Funktion?
}

  • Blick in die array.splice Funktion.
  • Ich habe gerade gesehen, dass Sie verwenden können, splice...aber es gibt auch ein Array.Prototyp-Methode, die eigentlich schneller? shadetyler.blogspot.com/2008/12/array-shuffle-as3.html
  • Versuchen Sie, meine Implementierung der array-shuffling, hier beantwortet: stackoverflow.com/a/25702799/1521021
Schreibe einen Kommentar