Corrections from Live Stream

This commit is contained in:
SaintPeter
2015-12-27 12:23:58 -08:00
parent a7a312829a
commit f57459f039

View File

@ -87,7 +87,7 @@
"id": "56533eb9ac21ba0edf2244a8", "id": "56533eb9ac21ba0edf2244a8",
"title": "Storing Values with the Equal Operator", "title": "Storing Values with the Equal Operator",
"description": [ "description": [
"In Javascript, you can store a value in a variable with the <code>=</code> or <dfn>assignment<dfn> operator.", "In Javascript, you can store a value in a variable with the <dfn>assignment</dfn> or <code>equal</code> (<code>=</code>) operator.",
"<code>myVariable = 5;</code>", "<code>myVariable = 5;</code>",
"Assigns the <code>Number</code> value <code>5</code> to <code>myVariable</code>.", "Assigns the <code>Number</code> value <code>5</code> to <code>myVariable</code>.",
"Assignment always goes from right to left. Everything to the right of the <code>=</code> operator is resolved before the value is assigned to the variable to the left of the operator.", "Assignment always goes from right to left. Everything to the right of the <code>=</code> operator is resolved before the value is assigned to the variable to the left of the operator.",
@ -225,7 +225,7 @@
"<strong>Examples:</strong>", "<strong>Examples:</strong>",
"<blockquote>var someVariable;<br>var anotherVariableName;<br>var thisVariableNameIsTooLong;</blockquote>", "<blockquote>var someVariable;<br>var anotherVariableName;<br>var thisVariableNameIsTooLong;</blockquote>",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Correct the variable assignements so their names match their variable declarations above." "Correct the variable assignments so their names match their variable declarations above."
], ],
"releasedOn": "11/27/2015", "releasedOn": "11/27/2015",
"tests": [ "tests": [
@ -272,7 +272,7 @@
"JavaScript uses the <code>+</code> symbol as addition operation when placed between two numbers.", "JavaScript uses the <code>+</code> symbol as addition operation when placed between two numbers.",
"", "",
"<strong>Example</strong>", "<strong>Example</strong>",
"<blockquote>5 + 10 = 15</blockquote>", "<blockquote>myVar = 5 + 10; // assigned 15</blockquote>",
"", "",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Change the <code>0</code> so that sum will equal <code>20</code>." "Change the <code>0</code> so that sum will equal <code>20</code>."
@ -299,10 +299,10 @@
"JavaScript uses the <code>-</code> symbol for subtraction.", "JavaScript uses the <code>-</code> symbol for subtraction.",
"", "",
"<strong>Example</strong>", "<strong>Example</strong>",
"<blockquote>12 - 6 = 6</blockquote>", "<blockquote>myVAr = 12 - 6; // assigned 6</blockquote>",
"", "",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Change the <code>0</code> so that difference will equal <code>12</code>." "Change the <code>0</code> so the difference is <code>12</code>."
], ],
"tests": [ "tests": [
"assert(difference === 12, 'message: Make the variable <code>difference</code> equal 12.');", "assert(difference === 12, 'message: Make the variable <code>difference</code> equal 12.');",
@ -330,7 +330,7 @@
"JavaScript uses the <code>*</code> symbol for multiplication of two numbers.", "JavaScript uses the <code>*</code> symbol for multiplication of two numbers.",
"", "",
"<strong>Example</strong>", "<strong>Example</strong>",
"<blockquote>13 * 13 = 169</blockquote>", "<blockquote>myVar = 13 * 13; // assigned 169</blockquote>",
"", "",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Change the <code>0</code> so that product will equal <code>80</code>." "Change the <code>0</code> so that product will equal <code>80</code>."
@ -361,10 +361,10 @@
"JavaScript uses the <code>/</code> symbol for division.", "JavaScript uses the <code>/</code> symbol for division.",
"", "",
"<strong>Example</strong>", "<strong>Example</strong>",
"<blockquote>16 / 2 = 8</blockquote>", "<blockquote>myVar = 16 / 2; // assigned 8</blockquote>",
"", "",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Change the <code>0</code> so that <code>quotient</code> will equal to <code>2</code>." "Change the <code>0</code> so that the <code>quotient</code> is equal to <code>2</code>."
], ],
"tests": [ "tests": [
"assert(quotient === 2, 'message: Make the variable <code>quotient</code> equal to 2.');", "assert(quotient === 2, 'message: Make the variable <code>quotient</code> equal to 2.');",
@ -387,7 +387,7 @@
"description": [ "description": [
"You can easily <dfn>increment</dfn> or add one to a variable with the <code>++</code> operator.", "You can easily <dfn>increment</dfn> or add one to a variable with the <code>++</code> operator.",
"<code>i++;</code>", "<code>i++;</code>",
"is the equivilent of", "is the equivalent of",
"<code>i = i + 1;</code>", "<code>i = i + 1;</code>",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Change the code to use the <code>++</code> operator on <code>myVar</code>" "Change the code to use the <code>++</code> operator on <code>myVar</code>"
@ -426,7 +426,7 @@
"description": [ "description": [
"You can easily <dfn>decrement</dfn> or decrease a variable by one with the <code>--</code> operator.", "You can easily <dfn>decrement</dfn> or decrease a variable by one with the <code>--</code> operator.",
"<code>i--;</code>", "<code>i--;</code>",
"is the equivilent of", "is the equivalent of",
"<code>i = i - 1;</code>", "<code>i = i - 1;</code>",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Change the code to use the <code>--</code> operator on <code>myVar</code>" "Change the code to use the <code>--</code> operator on <code>myVar</code>"
@ -466,8 +466,8 @@
"We can store decimal numbers in variables too. Decimal numbers are sometimes refered to as <dfn>floating point</dfn> numbers or <dfn>floats</dfn>. ", "We can store decimal numbers in variables too. Decimal numbers are sometimes refered to as <dfn>floating point</dfn> numbers or <dfn>floats</dfn>. ",
"<strong>Note</strong>", "<strong>Note</strong>",
"Not all real numbers can accurately be represented in <dfn>floating point</dfn>. This can lead to rounding errors. <a href=\"https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems\" target=\"_blank\">Details Here</a>.", "Not all real numbers can accurately be represented in <dfn>floating point</dfn>. This can lead to rounding errors. <a href=\"https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems\" target=\"_blank\">Details Here</a>.",
"", "<h4>Instructions</h4>",
"Let's create a variable <code>myDecimal</code> and give it a decimal value." "Create a variable <code>myDecimal</code> and give it a decimal value."
], ],
"tests": [ "tests": [
"assert(typeof myDecimal === \"number\", 'message: <code>myDecimal</code> should be a number.');", "assert(typeof myDecimal === \"number\", 'message: <code>myDecimal</code> should be a number.');",
@ -492,6 +492,7 @@
"description": [ "description": [
"In JavaScript, you can also perform calculations with decimal numbers, just like whole numbers.", "In JavaScript, you can also perform calculations with decimal numbers, just like whole numbers.",
"Let's multiply two decimals together to get their product.", "Let's multiply two decimals together to get their product.",
"<h4>Instructions</h4>",
"Change the <code>0.0</code> so that product will equal <code>5.0</code>." "Change the <code>0.0</code> so that product will equal <code>5.0</code>."
], ],
"tests": [ "tests": [
@ -514,6 +515,7 @@
"title": "Divide one Decimal by Another with JavaScript", "title": "Divide one Decimal by Another with JavaScript",
"description": [ "description": [
"Now let's divide one decimal by another.", "Now let's divide one decimal by another.",
"<h4>Instructions</h4>",
"Change the <code>0.0</code> so that <code>quotient</code> will equal to <code>2.2</code>." "Change the <code>0.0</code> so that <code>quotient</code> will equal to <code>2.2</code>."
], ],
"tests": [ "tests": [
@ -533,16 +535,18 @@
}, },
{ {
"id": "56533eb9ac21ba0edf2244ae", "id": "56533eb9ac21ba0edf2244ae",
"title": "Find a Remainder with Modulus", "title": "Finding a Remainder in Javascript",
"description": [ "description": [
"The modulus operator <code>%</code> gives the remainder of the division of two numbers.", "The <dfn>remainder</dfn> operator <code>%</code> gives the remainder of the division of two numbers. ",
"<strong>Example</strong>", "<strong>Example</strong>",
"<blockquote>5 % 2 = 1 because<br>Math.floor(5 / 2) = 2 (Quotient)<br>2 * 2 = 4<br>5 - 4 = 1 (Remainder)</blockquote>", "<blockquote>5 % 2 = 1 because<br>Math.floor(5 / 2) = 2 (Quotient)<br>2 * 2 = 4<br>5 - 4 = 1 (Remainder)</blockquote>",
"<strong>Usage</strong>", "<strong>Usage</strong>",
"In Maths, a number can be checked even or odd by checking the remainder of division of the number by <code>2</code>. ", "In mathematics, a number can be checked even or odd by checking the remainder of division of the number by <code>2</code>. ",
"<blockquote>17 % 2 = 1 (17 is Odd)<br>48 % 2 = 0 (48 is Even)</blockquote>", "<blockquote>17 % 2 = 1 (17 is Odd)<br>48 % 2 = 0 (48 is Even)</blockquote>",
"<strong>Note</strong>",
"The <dfn>remainder</dfn> operator is sometimes incorrectly refered to as the \"modulus\" operator. It is very similar to modulus, but does not work properly with negative numbers.",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Set <code>remainder</code> equal to the remainder of <code>11</code> divided by <code>3</code> using the <dfn>modulus</dfn> operator." "Set <code>remainder</code> equal to the remainder of <code>11</code> divided by <code>3</code> using the <dfn>remainder</dfn> (<code>%</code>) operator."
], ],
"releasedOn": "11/27/2015", "releasedOn": "11/27/2015",
"tests": [ "tests": [
@ -917,6 +921,9 @@
"", "",
"" ""
], ],
"tail": [
"(function() { return \"myStr = \" + myStr; })();"
],
"solutions": [ "solutions": [
"var myStr = '<a href=\"http://www.example.com\" target=\"_blank\">Link</a>';" "var myStr = '<a href=\"http://www.example.com\" target=\"_blank\">Link</a>';"
], ],
@ -1358,7 +1365,7 @@
"releasedOn": "11/27/2015", "releasedOn": "11/27/2015",
"tests": [ "tests": [
"assert(typeof wordBlanks(\"\",\"\",\"\",\"\") === 'string', 'message: <code>wordBlanks(\"\",\"\",\"\",\"\")</code> should return a string');", "assert(typeof wordBlanks(\"\",\"\",\"\",\"\") === 'string', 'message: <code>wordBlanks(\"\",\"\",\"\",\"\")</code> should return a string');",
"assert(wordBlanks(\"\",\"\",\"\",\"\").length > 50, 'message: <code>wordBlanks(\"\",\"\",\"\",\"\")</code> should return at least 50 characters with empty inputs');", "assert(wordBlanks(\"\",\"\",\"\",\"\").length > 30, 'message: <code>wordBlanks(\"\",\"\",\"\",\"\")</code> should return at least 30 characters with empty inputs');",
"assert(/dog/.test(test1) && /big/.test(test1) && /ran/.test(test1) && /quickly/.test(test1),'message: <code>wordBlanks(\"dog\", \"big\", \"ran\", \"quickly\")</code> should contain all of the passed words.');", "assert(/dog/.test(test1) && /big/.test(test1) && /ran/.test(test1) && /quickly/.test(test1),'message: <code>wordBlanks(\"dog\", \"big\", \"ran\", \"quickly\")</code> should contain all of the passed words.');",
"assert(/cat/.test(test2) && /little/.test(test2) && /hit/.test(test2) && /slowly/.test(test2),'message: <code>wordBlanks(\"cat\", \"little\", \"hit\", \"slowly\")</code> should contain all of the passed words.');" "assert(/cat/.test(test2) && /little/.test(test2) && /hit/.test(test2) && /slowly/.test(test2),'message: <code>wordBlanks(\"cat\", \"little\", \"hit\", \"slowly\")</code> should contain all of the passed words.');"
], ],
@ -2820,78 +2827,6 @@
"nameEs": "", "nameEs": "",
"namePt": "" "namePt": ""
}, },
{
"id": "5664820f61c48e80c9fa476c",
"title": "Golf Code",
"description": [
"In the game of golf each hole has a <dfn>par</dfn> for the average number of <dfn>strokes</dfn> needed to sink the ball. Depending on how far above or below <code>par</code> your <code>stokes</code> are, there is a different nickname.",
"Your function will be passed a <code>par</code> and <code>strokes</code>. Return strings according to this table (based on order of priority - top (highest) to bottom (lowest)):",
"<table class=\"table table-striped\"><thead><tr><th>Stokes</th><th>Return</th></tr></thead><tbody><tr><td>1</td><td>\"Hole-in-one!\"</td></tr><tr><td>&lt;= par - 2</td><td>\"Eagle\"</td></tr><tr><td>par - 1</td><td>\"Birdie\"</td></tr><tr><td>par</td><td>\"Par\"</td></tr><tr><td>par + 1</td><td>\"Bogey\"</td></tr><tr><td>par + 2</td><td>\"Double Bogey\"</td></tr><tr><td>&gt;= par + 3</td><td>\"Go Home!\"</td></tr></tbody></table>",
"<code>par</code> and <code>strokes</code> will always be numeric and positive."
],
"releasedOn": "11/27/2015",
"tests": [
"assert(golfScore(4, 1) === \"Hole-in-one!\", 'message: <code>golfScore(4, 1)</code> should return \"Hole-in-one!\"');",
"assert(golfScore(4, 2) === \"Eagle\", 'message: <code>golfScore(4, 2)</code> should return \"Eagle\"');",
"assert(golfScore(5, 2) === \"Eagle\", 'message: <code>golfScore(4, 2)</code> should return \"Eagle\"');",
"assert(golfScore(4, 3) === \"Birdie\", 'message: <code>golfScore(4, 3)</code> should return \"Birdie\"');",
"assert(golfScore(4, 4) === \"Par\", 'message: <code>golfScore(4, 4)</code> should return \"Par\"');",
"assert(golfScore(1, 1) === \"Hole-in-one!\", 'message: <code>golfScore(1, 1)</code> should return \"Hole-in-one!\"');",
"assert(golfScore(5, 5) === \"Par\", 'message: <code>golfScore(5, 5)</code> should return \"Par\"');",
"assert(golfScore(4, 5) === \"Bogey\", 'message: <code>golfScore(4, 5)</code> should return \"Bogey\"');",
"assert(golfScore(4, 6) === \"Double Bogey\", 'message: <code>golfScore(4, 6)</code> should return \"Double Bogey\"');",
"assert(golfScore(4, 7) === \"Go Home!\", 'message: <code>golfScore(4, 7)</code> should return \"Go Home!\"');",
"assert(golfScore(5, 9) === \"Go Home!\", 'message: <code>golfScore(5, 9)</code> should return \"Go Home!\"');"
],
"challengeSeed": [
"function golfScore(par, strokes) {",
" // Only change code below this line",
" ",
" ",
" return \"Change Me\";",
" // Only change code above this line",
"}",
"",
"// Change these values to test",
"golfScore(5, 4);"
],
"solutions": [
"function golfScore(par, strokes) {",
" if (strokes === 1) {",
" return \"Hole-in-one!\";",
" }",
" ",
" if (strokes <= par - 2) {",
" return \"Eagle\";",
" }",
" ",
" if (strokes === par - 1) {",
" return \"Birdie\";",
" }",
" ",
" if (strokes === par) {",
" return \"Par\";",
" }",
" ",
" if (strokes === par + 1) {",
" return \"Bogey\";",
" }",
" ",
" if(strokes === par + 2) {",
" return \"Double Bogey\";",
" }",
" ",
" return \"Go Home!\";",
"}"
],
"type": "bonfire",
"challengeType": "5",
"nameCn": "",
"nameFr": "",
"nameRu": "",
"nameEs": "",
"namePt": ""
},
{ {
"id": "56533eb9ac21ba0edf2244da", "id": "56533eb9ac21ba0edf2244da",
"title": "Introducing Else Statements", "title": "Introducing Else Statements",
@ -3066,6 +3001,78 @@
"nameEs": "", "nameEs": "",
"namePt": "" "namePt": ""
}, },
{
"id": "5664820f61c48e80c9fa476c",
"title": "Golf Code",
"description": [
"In the game of <a href=\"https://en.wikipedia.org/wiki/Golf\">golf</a> each hole has a <dfn>par</dfn> for the average number of <dfn>strokes</dfn> needed to sink the ball. Depending on how far above or below <code>par</code> your <code>strokes</code> are, there is a different nickname.",
"Your function will be passed a <code>par</code> and <code>strokes</code>. Return strings according to this table (based on order of priority - top (highest) to bottom (lowest)):",
"<table class=\"table table-striped\"><thead><tr><th>Strokes</th><th>Return</th></tr></thead><tbody><tr><td>1</td><td>\"Hole-in-one!\"</td></tr><tr><td>&lt;= par - 2</td><td>\"Eagle\"</td></tr><tr><td>par - 1</td><td>\"Birdie\"</td></tr><tr><td>par</td><td>\"Par\"</td></tr><tr><td>par + 1</td><td>\"Bogey\"</td></tr><tr><td>par + 2</td><td>\"Double Bogey\"</td></tr><tr><td>&gt;= par + 3</td><td>\"Go Home!\"</td></tr></tbody></table>",
"<code>par</code> and <code>strokes</code> will always be numeric and positive."
],
"releasedOn": "11/27/2015",
"tests": [
"assert(golfScore(4, 1) === \"Hole-in-one!\", 'message: <code>golfScore(4, 1)</code> should return \"Hole-in-one!\"');",
"assert(golfScore(4, 2) === \"Eagle\", 'message: <code>golfScore(4, 2)</code> should return \"Eagle\"');",
"assert(golfScore(5, 2) === \"Eagle\", 'message: <code>golfScore(5, 2)</code> should return \"Eagle\"');",
"assert(golfScore(4, 3) === \"Birdie\", 'message: <code>golfScore(4, 3)</code> should return \"Birdie\"');",
"assert(golfScore(4, 4) === \"Par\", 'message: <code>golfScore(4, 4)</code> should return \"Par\"');",
"assert(golfScore(1, 1) === \"Hole-in-one!\", 'message: <code>golfScore(1, 1)</code> should return \"Hole-in-one!\"');",
"assert(golfScore(5, 5) === \"Par\", 'message: <code>golfScore(5, 5)</code> should return \"Par\"');",
"assert(golfScore(4, 5) === \"Bogey\", 'message: <code>golfScore(4, 5)</code> should return \"Bogey\"');",
"assert(golfScore(4, 6) === \"Double Bogey\", 'message: <code>golfScore(4, 6)</code> should return \"Double Bogey\"');",
"assert(golfScore(4, 7) === \"Go Home!\", 'message: <code>golfScore(4, 7)</code> should return \"Go Home!\"');",
"assert(golfScore(5, 9) === \"Go Home!\", 'message: <code>golfScore(5, 9)</code> should return \"Go Home!\"');"
],
"challengeSeed": [
"function golfScore(par, strokes) {",
" // Only change code below this line",
" ",
" ",
" return \"Change Me\";",
" // Only change code above this line",
"}",
"",
"// Change these values to test",
"golfScore(5, 4);"
],
"solutions": [
"function golfScore(par, strokes) {",
" if (strokes === 1) {",
" return \"Hole-in-one!\";",
" }",
" ",
" if (strokes <= par - 2) {",
" return \"Eagle\";",
" }",
" ",
" if (strokes === par - 1) {",
" return \"Birdie\";",
" }",
" ",
" if (strokes === par) {",
" return \"Par\";",
" }",
" ",
" if (strokes === par + 1) {",
" return \"Bogey\";",
" }",
" ",
" if(strokes === par + 2) {",
" return \"Double Bogey\";",
" }",
" ",
" return \"Go Home!\";",
"}"
],
"type": "bonfire",
"challengeType": "5",
"nameCn": "",
"nameFr": "",
"nameRu": "",
"nameEs": "",
"namePt": ""
},
{ {
"id": "56533eb9ac21ba0edf2244dd", "id": "56533eb9ac21ba0edf2244dd",
"title": "Selecting from many options with Switch Statements", "title": "Selecting from many options with Switch Statements",
@ -3450,7 +3457,7 @@
"In the casino game Blackjack, a player can gain an advantage over the house by keeping track of the relative number of high and low cards remaining in the deck. This is called <a href=\"https://en.wikipedia.org/wiki/Card_counting\">Card Counting</a>. ", "In the casino game Blackjack, a player can gain an advantage over the house by keeping track of the relative number of high and low cards remaining in the deck. This is called <a href=\"https://en.wikipedia.org/wiki/Card_counting\">Card Counting</a>. ",
"Having more high cards remaining in the deck favors the player. Each card is assigned a value according to the table below. When the count is positive, the player should bet high. When the count is zero or negative, the player should bet low.", "Having more high cards remaining in the deck favors the player. Each card is assigned a value according to the table below. When the count is positive, the player should bet high. When the count is zero or negative, the player should bet low.",
"<table class=\"table table-striped\"><thead><tr><th>Value</th><th>Cards</th></tr></thead><tbody><tr><td>+1</td><td>2, 3, 4, 5, 6</td></tr><tr><td>0</td><td>7, 8, 9</td></tr><tr><td>-1</td><td>10, 'J', 'Q', 'K','A'</td></tr></tbody></table>", "<table class=\"table table-striped\"><thead><tr><th>Value</th><th>Cards</th></tr></thead><tbody><tr><td>+1</td><td>2, 3, 4, 5, 6</td></tr><tr><td>0</td><td>7, 8, 9</td></tr><tr><td>-1</td><td>10, 'J', 'Q', 'K','A'</td></tr></tbody></table>",
"You will write a card counting function. It will recieve a <code>card</code> parameter and increment or decrement the global <code>count</code> variable according to the card's value (see table). The function will then return the current count and the string <code>\"Bet\"</code> if the count if positive, or <code>\"Hold\"</code> if the count is zero or negative.", "You will write a card counting function. It will receive a <code>card</code> parameter and increment or decrement the global <code>count</code> variable according to the card's value (see table). The function will then return the current count and the string <code>\"Bet\"</code> if the count if positive, or <code>\"Hold\"</code> if the count is zero or negative.",
"<strong>Example Output</strong>", "<strong>Example Output</strong>",
"<code>-3 Hold</code><br><code>5 Bet</code>" "<code>-3 Hold</code><br><code>5 Bet</code>"
], ],
@ -4017,7 +4024,7 @@
"JavaScript Object Notation or <code>JSON</code> uses the format of Javascript Objects to store data. JSON is flexible becuase it allows for data structures with arbitrary combinations of <dfn>strings</dfn>, <dfn>numbers</dfn>, <dfn>booleans</dfn>, <dfn>arrays</dfn>, and <dfn>objects</dfn>. ", "JavaScript Object Notation or <code>JSON</code> uses the format of Javascript Objects to store data. JSON is flexible becuase it allows for data structures with arbitrary combinations of <dfn>strings</dfn>, <dfn>numbers</dfn>, <dfn>booleans</dfn>, <dfn>arrays</dfn>, and <dfn>objects</dfn>. ",
"Here is an example of a JSON object:", "Here is an example of a JSON object:",
"<blockquote>var ourMusic = [<br> {<br> \"artist\": \"Daft Punk\",<br> \"title\": \"Homework\",<br> \"release_year\": 1997,<br> \"formats\": [ <br> \"CD\", <br> \"Cassette\", <br> \"LP\" ],<br> \"gold\": true<br> }<br>];</blockquote>", "<blockquote>var ourMusic = [<br> {<br> \"artist\": \"Daft Punk\",<br> \"title\": \"Homework\",<br> \"release_year\": 1997,<br> \"formats\": [ <br> \"CD\", <br> \"Cassette\", <br> \"LP\" ],<br> \"gold\": true<br> }<br>];</blockquote>",
"This is an array of objects and the object has various peices of <dfn>metadata</dfn> about an album. It also has a nested array of formats. Additional album records could be added to the top level array.", "This is an array of objects and the object has various pieces of <dfn>metadata</dfn> about an album. It also has a nested array of formats. Additional album records could be added to the top level array.",
"<h4>Instructions</h4>", "<h4>Instructions</h4>",
"Add a new album to the <code>myMusic</code> JSON object. Add <code>artist</code> and <code>title</code> strings, <code>release_year</code> year, and a <code>formats</code> array of strings." "Add a new album to the <code>myMusic</code> JSON object. Add <code>artist</code> and <code>title</code> strings, <code>release_year</code> year, and a <code>formats</code> array of strings."
], ],
@ -4234,7 +4241,7 @@
"id": "56533eb9ac21ba0edf2244cf", "id": "56533eb9ac21ba0edf2244cf",
"title": "Record Collection", "title": "Record Collection",
"description": [ "description": [
"You are given a JSON object representing (a small part of) your record collection. Each album is identified by a unqiue id number and which has several properties. Not all albums have complete information.", "You are given a JSON object representing (a small part of) your record collection. Each album is identified by a unique id number and which has several properties. Not all albums have complete information.",
"Write a function which takes an <code>id</code>, a property (<code>prop</code>), and a <code>value</code>.", "Write a function which takes an <code>id</code>, a property (<code>prop</code>), and a <code>value</code>.",
"For the given <code>id</code> in <code>collection</code>:", "For the given <code>id</code> in <code>collection</code>:",
"If <code>value</code> is non-blank (<code>value !== \"\"</code>), then update or set the <code>value</code> for the <code>prop</code>.", "If <code>value</code> is non-blank (<code>value !== \"\"</code>), then update or set the <code>value</code> for the <code>prop</code>.",
@ -4250,6 +4257,7 @@
"update(2548, \"tracks\", \"\"); assert(!collection[2548].hasOwnProperty(\"tracks\"), 'message: After <code>update(2548, \"tracks\", \"\")</code>, <code>tracks</code> should not be set');" "update(2548, \"tracks\", \"\"); assert(!collection[2548].hasOwnProperty(\"tracks\"), 'message: After <code>update(2548, \"tracks\", \"\")</code>, <code>tracks</code> should not be set');"
], ],
"challengeSeed": [ "challengeSeed": [
"// Setup",
"var collection = {", "var collection = {",
" 2548: {", " 2548: {",
" album: \"Slippery When Wet\",", " album: \"Slippery When Wet\",",