Card Deck Object
A Javascript object w/ shuffle functionality.
by Matthew Marcus
JavaScript
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/array/shuffle [v1.0]
function shuffle(o){ //v1.0
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
var Deck = function(){
this.deck = [];
var suites = ['S', 'C', 'D', 'H'];
var faceRanks = {
'A': 1,
'J': 11,
'Q': 12,
'K': 13
};
for (var suiteIndex in suites){
for (var i = 1; i <= 13; i++){
var rank = i;
for (var faceRankK in faceRanks){
if(faceRanks.hasOwnProperty(faceRankK) && faceRanks[faceRankK] == rank){
rank = faceRankK;
}
}
this.deck.push({suite: suites[suiteIndex], rank: rank});
}
}
this.shuffleDeck = function(){
this.deck = shuffle(this.deck);
};
};
var myDeck = new Deck();
myDeck.shuffleDeck();
for (var cardIndex = 0; cardIndex < myDeck.deck.length; cardIndex++){
console.log(JSON.stringify(myDeck.deck[cardIndex]));
}