Функция map() — это встроенный в JavaScript метод, который используется для создания нового массива путем выполнения заданной операции над каждым элементом исходного массива. Функцию-прототип для `map()` можно записать следующим образом:

Array.prototype.myMap = function(callback) {
  let result = [];
  for(let i=0; i<this.length; i++) {
    result.push(callback(this[i], i, this));
  }
  return result;
}

В этой функции мы создали новый метод-прототип myMap() для объекта Array, который принимает функцию обратного вызова в качестве аргумента. Функция обратного вызова — это операция, которая будет выполняться над каждым элементом исходного массива.

Внутри функции мы инициализируем пустой массив с именем `result`, который будет содержать отображаемые значения. Затем мы перебираем каждый элемент исходного массива, используя цикл for. Для каждого элемента мы вызываем функцию обратного вызова с тремя аргументами: текущий элемент, его индекс и исходный массив. Функция «обратный вызов» возвращает сопоставленное значение, которое мы помещаем в массив «результат».

Наконец, мы возвращаем массив `result`, который содержит все сопоставленные значения.

Эту функцию-прототип можно использовать как встроенный метод `map()`, как показано ниже:

const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.myMap(num => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8, 10]

В этом примере мы используем `myMap()`, чтобы удвоить каждый элемент массива `numbers` и сохранить результаты в новом массиве с именем `doubled`. Затем вывод выводится на консоль.