Implement map on a Prototype 73

This challenge has had me stuck for over a week. I keep looking at the answer to try and understand how it works but I have no idea. Please help. I understand “this”, “forEach” “for loops” “map” etc etc but the way this challenge seems to combine them, has me completely done. Thanks.

Your code so far


// the global Array
var s = [23, 65, 98, 5];

Array.prototype.myMap = function(callback){
  var newArray = [];
  // Add your code below this line
  
  // Add your code above this line
  return newArray;

};

var new_s = s.myMap(function(item){
  return item * 2;
});

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36.

Link to the challenge:
javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype

forEach is just like map except it doesn’t store the results. To write map in terms of forEach means you’ll want to store each callback result in a new array (which has already been provided for you).

Talk yourself through the description of map: for each element of the array, call the callback on the element, and push the result to a new array. In fact, the code you write is exactly that, just with different syntax.

If you’ve tried other approaches, it could be helpful if you post that code first, then we can figure out how to fix it.