We are creating our own map function. Sometimes in an interview, Interviewer asked for the implementation of the map function. How it behaves internally using a callback.
Map Polyfill
// @ts-ignore
// eslint-disable-next-line no-extend-native
Array.prototype.myOwnMap = function myOwnMap(
callback: (inputElement: number, index?: number, array?: number[]) => number
): number[] {
const outputArr: number[] = [];
for (let iterator = 0; iterator < inputElements.length; iterator++) {
outputArr.push(callback(inputElements[iterator], iterator, inputElements));
}
return outputArr;
};
// @ts-ignore
const outputElements: number[] = inputElements.myOwnMap(
(element: number, index: number, array: number[]) => {
return element + index * 2;
}
);
console.log("We are expecting result is [ 1, 4, 7, 10, 13, 16 ]", outputElements);```