Returning index array problem

Hello,

how can this happen? I am creating a deck of cards and populating its array with 48 cards. When I use the RETURNINDEXEDARRAY method I become short of 4 cards.

Here’s my script(someone try it):

function init() {
deck= new Array();
for (var suit = 0; suit<=3; suit++) {
for (var i = 0; i<=11; i++) {
do {
var deckpos = Math.round(Math.random()*47);
} while (deck[deckpos] != null);
deck[deckpos] = String(suit)+String(i);
}
}
}
init();
trace(deck);
var player:Array = deck.sortOn(“0”, Array.RETURNINDEXEDARRAY);
trace(player);