For loop -Implement map on a Prototype

For loop -Implement map on a Prototype
0.0 0

#1

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++ ){
    newArray.push(copy[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:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype

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


#2

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?


#3

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


#4

I solved the problem~Thank you!