Change:
There are two exercises dealing with JavaScript array functions that don't change the original array (.map and .filter). It is very confusing to a learner whether to modify the existing array or to assign the results to a separate array. Here's a snippet from The test assertions are all on , meaning it doesn't matter if was changed at all. I have two suggestions, either of which should make these exercises less confusing: Remove all references of and make the test assertions on or Reword the goal statement to : Update the starter code to : This concept would apply to both:
I like suggestion number two :+1:

Discussion:
"The <code>map</code> method is a convenient way to iterate through arrays. Here's an example usage:", "<blockquote>var timesFour = oldArray.map(function(val){<br>&nbsp;&nbsp;return val * 4;<br>});</blockquote>", "", <del> "The <code>map</code> method will iterate through every element of the array, creating a new array with values that have been modified by the callback function, and return it.", </del> <ins> "The <code>map</code> method will iterate through every element of the array, creating a new array with values that have been modified by the callback function, and return it.  Note that it does not modify the original array.", </ins> "In our example the callback only uses the value of the array element (the <code>val</code> argument) but your callback can also include arguments for the <code>index</code> and <code>array</code> being acted on.", <del> "Use the map function to add 3 to every value in the variable <code>oldArray</code>." </del> <ins> "Use the map function to add 3 to every value in the variable <code>oldArray</code>, and save the results into variable <code>newArray</code>. oldArray should not change." </ins> ], "challengeSeed": [ "var oldArray = [1,2,3,4,5];", <del> "var newArray = [];", </del> "", "// Only change code below this line.", "", <del> "newArray = oldArray;" </del> <ins> "var newArray = oldArray;" </ins> ], "tail": [ "(function() {return newArray;})();" ], "tests": [ <ins> "assert.deepEqual(oldArray, [1,2,3,4,5], 'message: You should not change the original array.');", </ins> "assert.deepEqual(newArray, [4,5,6,7,8], 'message: You should add three to each value in the array.');", "assert(editor.getValue().match(/.maps*(/gi), 'message: You should be making use of the <code>map</code> method.');", "assert(editor.getValue().match(/[1,2,3,4,5]/gi), 'message: You should only modify the array with <code>map</code>.');"

"The following code is an example of using <code>filter</code> to remove array elements that are equal to five:", "Note: We omit the second and third arguments since we only need the value", "<blockquote>array = array.filter(function(val) {<br>&nbsp;&nbsp;return val !== 5;<br>});</blockquote>", <del> "Use <code>filter</code> to remove all elements from <code>oldArray</code> that are greater than 5." </del> <ins> "Use <code>filter</code> to filter out all elements from <code>oldArray</code> that are greater than 5 and store the results into <code>newArray</code>.  <code>oldArray</code> should not change." </ins> ], "challengeSeed": [ "var oldArray = [1,2,3,4,5,6,7,8,9,10];", <del> "var newArray = [];", </del> "", "// Only change code below this line.", "", <del> "newArray = oldArray;" </del> <ins> "var newArray = oldArray;" </ins> ], "tail": [ "(function() {return newArray;})();" ], "tests": [ <del> "assert.deepEqual(newArray, [1,2,3,4,5], 'message: You should have removed all the values from the array that are greater than 5.');", </del> <ins> "assert.deepEqual(oldArray, [1,2,3,4,5,6,7,8,9,10], 'message: You should not change the original array.');", "assert.deepEqual(newArray, [1,2,3,4,5], 'message: You should have filtered out all values from the array that are greater than 5.');", </ins> "assert(editor.getValue().match(/array.filters*(/gi), 'message: You should be using the <code>filter</code> method to remove the values from the array.');", "assert(editor.getValue().match(/[1,2,3,4,5,6,7,8,9,10]/gi), 'message: You should only be using <code>filter</code> to modify the contents of the array.');" ],