For loop -Implement map on a Prototype

Tell us what’s happening:

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
  let copy = this.slice(0); //copy the array in order to return a new one without modify the orinial array.

  for(let i=0 ; i<copy.length;i++ ){
  // 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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36.

Link to the challenge:

I can’t figure out how to write a reusable myMap function…

You need to use the callback argument to modify each array element pushed into newArray. All you have currently done is make a copy of the original array and pass the copy back. Do you understand how map works?

Yes, I understand how map() works, but not so sure about callback function.
I think I need to check more examples about callback function…

I solved the problem~Thank you!


it is also work.

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

If you want to compare your solution to others, use the Get a hint button on the challenge and there are alternative solutions you can compare yours to. Also, you can probably search older posts using the forum search feature or google the challenge name and find more there.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.

Thank you for understanding.