2323
2424function getCardValue ( card ) {
2525 // TODO: Implement this function
26+ if ( card === "A♠" || card === "A♥" || card === "A♦" || card === "A♣" ) {
27+ return 11 ;
28+ }
29+ else if ( card === "J♠" || card === "J♥" || card === "J♦" || card === "J♣" ||
30+ card === "Q♠" || card === "Q♥" || card === "Q♦" || card === "Q♣" ||
31+ card === "K♠" || card === "K♥" || card === "K♦" || card === "K♣" ) {
32+ return 10 ;
33+ }
34+ else if ( card === "2♠" || card === "2♥" || card === "2♦" || card === "2♣" ) {
35+ return 2 ;
36+ }
37+ else if ( card === "3♠" || card === "3♥" || card === "3♦" || card === "3♣" ) {
38+ return 3 ;
39+ }
40+ else if ( card === "4♠" || card === "4♥" || card === "4♦" || card === "4♣" ) {
41+ return 4 ;
42+ }
43+ else if ( card === "5♠" || card === "5♥" || card === "5♦" || card === "5♣" ) {
44+ return 5 ;
45+ }
46+ else if ( card === "6♠" || card === "6♥" || card === "6♦" || card === "6♣" ) {
47+ return 6 ;
48+ }
49+ else if ( card === "7♠" || card === "7♥" || card === "7♦" || card === "7♣" ) {
50+ return 7 ;
51+ }
52+ else if ( card === "8♠" || card === "8♥" || card === "8♦" || card === "8♣" ) {
53+ return 8 ;
54+ }
55+ else if ( card === "9♠" || card === "9♥" || card === "9♦" || card === "9♣" ) {
56+ return 9 ;
57+ }
58+ else if ( card === "10♠" || card === "10♥" || card === "10♦" || card === "10♣" ) {
59+ return 10 ;
60+ }
61+ else {
62+ throw new Error ( "Invalid card" ) ;
63+ }
2664}
2765
2866// The line below allows us to load the getCardValue function into tests in other files.
@@ -40,6 +78,9 @@ function assertEquals(actualOutput, targetOutput) {
4078// TODO: Write tests to cover all outcomes, including throwing errors for invalid cards.
4179// Examples:
4280assertEquals ( getCardValue ( "9♠" ) , 9 ) ;
81+ assertEquals ( getCardValue ( "A♥" ) , 11 ) ;
82+ assertEquals ( getCardValue ( "J♦" ) , 10 ) ;
83+ assertEquals ( getCardValue ( "10♣" ) , 10 ) ;
4384
4485// Handling invalid cards
4586try {
5091} catch ( e ) { }
5192
5293// What other invalid card cases can you think of?
94+ try {
95+ getCardValue ( "1♠" ) ;
96+ console . error ( "Error was not thrown for invalid card" ) ; }
97+ catch ( e ) { }
0 commit comments