Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div class="deck"></div>
</body>
</html>
 
.H,.D{
  color:red;
}
.deck {
  display : flex;
  flex-wrap : wrap;
}
div span.card {
  flex : 0 0 7.6923%;
}
 
const DictObject = {
    H: '\u2665',
    C: '\u2663',
    D: '\u2666',
    S: '\u2660',
    1: 'A',
    2: 2,
    3: 3,
    4: 4,
    5: 5,
    6: 6,
    7: 7,
    8: 8,
    9: 9,
    10: 10,
    11: 'J',
    12: 'Q',
    13: 'K'
},
    DictMap = new Map(Object.entries(DictObject)),
    Suits = ['H', 'C', 'D', 'S'],
    cards = [];
function cardToString({ suit = 'H', value = '1' } = {}) { // 
    value = value.toString();
    //check and conversion
    if (DictMap.has(suit)) {
        suit = DictMap.get(suit);
    } else {
        return `Please, check the suit's card, ie ["H","C","D","S"] !`
    }
    //check and conversion
    if (DictMap.has(value)) {
        value = DictMap.get(value);
    } else {
        console.log(value)
        return `Please, check the value's card, ie ["1"-"13"]`
    }
    return `${value}${suit}`;
}
// create the deck
for (let suit of Suits) // hearts, clubs, diamonds, spades
    for (let value = 1; value <= 13; value++)
        cards.push({ suit, value });
// print
for (let c of cards) {
    document.querySelector(".deck").insertAdjacentHTML('beforeend',`<span class="${c.suit} card"> ${cardToString(c)}<span>`);
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
dupontpro
0viewers