Implement map on a Prototype: my issue

Tell us what’s happening:
So a few things i am confused about. First what is callback and what is its purpose? How am i to use it in this function? I did not know what it was so i did not use it and figured my code below should work. I copy the s array into the newArray and then perform operations on the elements of newArray and return but for some reason newArray is not being changed. Its still the same 23, 65, 98, 5 array. Any idea why?
P.S I eventually had to create love just so i could pass the challenge. But i still want to now why return newArray originally did not work

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
  newArray = [...s];
  //console.log(newArray);
  var love = [];
  for(let i = 0; i < newArray.length; i++){
      console.log(newArray[i]);
      love.push(newArray[i] * 2);
  }
  // Add your code above this line
  console.log(love);
  return love;

};

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

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype

so why did i have to do another hardcode of multiplying the array elements by 2? I cant fifgure out how to use callback in the myMap function.