Using Objects for Lookups

This commit is contained in:
Abhisek Pattnaik
2015-12-29 04:49:09 +05:30
parent 62f1f57b92
commit 41d78b5880

View File

@ -3888,83 +3888,65 @@
],
"releasedOn": "January 1, 2016",
"tests": [
"assert(numberLookup(0) === 'zero', 'message: <code>numberLookup(0)</code> should equal <code>\"zero\"</code>');",
"assert(numberLookup(1) === 'one', 'message: <code>numberLookup(1)</code> should equal <code>\"one\"</code>');",
"assert(numberLookup(2) === 'two', 'message: <code>numberLookup(2)</code> should equal <code>\"two\"</code>');",
"assert(numberLookup(3) === 'three', 'message: <code>numberLookup(3)</code> should equal <code>\"three\"</code>');",
"assert(numberLookup(4) === 'four', 'message: <code>numberLookup(4)</code> should equal <code>\"four\"</code>');",
"assert(numberLookup(5) === 'five', 'message: <code>numberLookup(5)</code> should equal <code>\"five\"</code>');",
"assert(numberLookup(6) === 'six', 'message: <code>numberLookup(6)</code> should equal <code>\"six\"</code>');",
"assert(numberLookup(7) === 'seven', 'message: <code>numberLookup(7)</code> should equal <code>\"seven\"</code>');",
"assert(numberLookup(8) === 'eight', 'message: <code>numberLookup(8)</code> should equal <code>\"eight\"</code>');",
"assert(numberLookup(9) === 'nine', 'message: <code>numberLookup(9)</code> should equal <code>\"nine\"</code>');",
"assert(!/case|switch|if/g.test(code), 'message: You should not use <code>case</code>, <code>switch</code>, or <code>if</code> statements');"
"assert(phoneticLookup(\"alpha\") === 'Adams', 'message: <code>phoneticLookup(\"alpha\")</code> should equal <code>\"Adams\"</code>');",
"assert(phoneticLookup(\"bravo\") === 'Boston', 'message: <code>phoneticLookup(\"bravo\")</code> should equal <code>\"Boston\"</code>');",
"assert(phoneticLookup(\"charlie\") === 'Chicago', 'message: <code>phoneticLookup(\"charlie\")</code> should equal <code>\"Chicago\"</code>');",
"assert(phoneticLookup(\"delta\") === 'Denver', 'message: <code>phoneticLookup(\"delta\")</code> should equal <code>\"Denver\"</code>');",
"assert(phoneticLookup(\"echo\") === 'Easy', 'message: <code>phoneticLookup(\"echo\")</code> should equal <code>\"Easy\"</code>');",
"assert(phoneticLookup(\"foxtrot\") === 'Frank', 'message: <code>phoneticLookup(\"foxtrot\")</code> should equal <code>\"Frank\"</code>');",
"assert(typeof phoneticLookup(\"\") === 'undefined', 'message: <code>phoneticLookup(\"\")</code> should equal <code>undefined</code>');",
"assert(!/case|switch|if/g.test(editor.getValue()), 'message: You should not use <code>case</code>, <code>switch</code>, or <code>if</code> statements'); "
],
"challengeSeed": [
"// Setup",
"function numberLookup(val) {",
"function phoneticLookup(val) {",
" var result = \"\";",
"",
" // Only change code below this line",
" switch(val) {",
" case 0: ",
" result = \"zero\";",
" case \"alpha\": ",
" result = \"Adams\";",
" break;",
" case 1: ",
" result = \"one\";",
" case \"bravo\": ",
" result = \"Boston\";",
" break;",
" case 2: ",
" result = \"two\";",
" case \"charlie\": ",
" result = \"Chicago\";",
" break;",
" case 3: ",
" result = \"three\";",
" case \"delta\": ",
" result = \"Denver\";",
" break;",
" case 4: ",
" result = \"four\";",
" break;",
" case 5: ",
" result = \"five\";",
" break;",
" case 6: ",
" result = \"six\";",
" break;",
" case 7: ",
" result = \"seven\";",
" break;",
" case 8: ",
" result = \"eight\";",
" break;",
" case 9: ",
" result = \"nine\";",
" case \"echo\": ",
" result = \"Easy\";",
" break;",
" case \"foxtrot\": ",
" result = \"Frank\";",
" }",
"",
" // Only change code above this line",
" return result;",
"}",
"",
""
],
"solutions": [
"function numberLookup(val) {",
"function phoneticLookup(val) {",
" var result = \"\";",
"",
" var lookup = {",
" 0:\"zero\",",
" 1:\"one\",",
" 2:\"two\",",
" 3:\"three\",",
" 4:\"four\",",
" 5:\"five\",",
" 6:\"six\",",
" 7:\"seven\",",
" 8:\"eight\",",
" 9:\"nine\"",
" alpha: \"Adams\",",
" bravo: \"Boston\",",
" charlie: \"Chicago\",",
" delta: \"Denver\",",
" echo: \"Easy\",",
" foxtrot: \"Frank\"",
" };",
"",
" result = lookup[val];",
"",
" return result;",
"}"
" return result;",
"}",
"",
"phoneticLookup(\"charlie\");"
],
"type": "waypoint",
"challengeType": "1",