Apologies if I paste the code incorrectly, I am not sure the proper format for pasting code on forums.
Anyways, during the lesson called Implement map on a Prototype, I finished it with the following code.
Array.prototype.myMap = function(callback) {
const newArray = ;
// Only change code below this linefor(let i = 0; i <= this.length - 1; i++){
// console.log(newArray.push(callback(this[i], i, this)))
newArray.push(callback(this[i], i, this))
}
// Only change code above this line
return newArray;
};console.log([1, 1, 2, 5, 2].myMap((element, index, array) => array[index + 1] || array[0]));
This passes the test for me and my uncommented console.log gives me a result of [ 1, 2, 5, 2, 1 ]. However, if I uncomment my commented console.log “console.log(newArray.push(callback(this[i], i, this)))” I get an answer of [ 1, 1, 2, 2, 5, 5, 2, 2, 1, 1 ] from the last console.log line of code and Run the Tests says that my answer is incorrect. What is going on here? Is console.log affecting my output?