Skip to content

Commit c3fd5c6

Browse files
committed
Add an array of suits to check for valid suits.
1 parent 533ec51 commit c3fd5c6

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

‎implement-and-rewrite-tests/implement/3-get-card-value.js‎

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,26 @@ export function getCardValue(card) {
2929
throw new Error("Invalid");
3030
}
3131
const rank = card.slice(0, -1);
32+
const suits = card.slice(-1);
33+
const validSuits = ["♠", "♥", "♦", "♣"];
3234

33-
if (rank === "A") {
35+
if (rank === "A" && validSuits.includes(suits)) {
3436
return 11;
3537
}
36-
if (rank === "J" || rank === "Q" || rank === "K") {
38+
if (
39+
(rank === "J" || rank === "Q" || rank === "K") &&
40+
validSuits.includes(suits)
41+
) {
3742
return 10;
3843
}
3944
const value = Number(rank);
40-
if (Number.isInteger(value) && value >= 2 && value <= 10) {
45+
if (
46+
Number.isInteger(value) &&
47+
value >= 2 &&
48+
value <= 10 &&
49+
validSuits.includes(suits)
50+
) {
4151
return value;
4252
}
4353
throw new Error(`Expected a number followed by a suit, but got "${card}"`);
44-
}
54+
}

0 commit comments

Comments
 (0)