Обычно мне приходилось сопоставлять каждый ключ и значение в объекте, когда я разрабатывал любое приложение на js.

Итак, в этом посте я покажу, как мы можем реализовать Object.map() и добавить его в прототип объекта, чтобы мы могли использовать эту функцию из любого объекта, который есть в нашем приложении.

начнем с создания этого объекта:

И чтобы создать функцию, которую мы можем вызывать из любого объекта, все, что нам нужно сделать, это добавить ее в прототип объекта следующим образом:

мы используем ключевое слово function, потому что хотим, чтобы это было привязано к объекту, вызвавшему функцию карты, и этого не произойдет при использовании функций-стрелок.

Для реализации функции карты я буду использовать две встроенные функции из функции конструктора объектов Object.entries и Object.entries.

Object.entries Пример:

Функция entry вернет массив массивов, и каждый массив представляет собой ключ и значение для каждого свойства в объекте.

Пример Object.fromEntries:

fromEntries отображает массив массивов в объект, первый индекс из каждого массива является ключом, а второй — значением.

Думаю, после этих двух примеров становится ясно, какой будет реализация map.

давайте вернемся к функции map, которую мы создали ранее, и реализуем ее.

— нам нужно получить ключи и значения объекта в виде массива массивов (Objcet.entries).

— зациклиться на них и передать их функции обратного вызова, определенной пользователем, которая будет отображать их, и эта функция должна возвращать массив, такой как [новый ключ, новое значение] или ноль, если вы хотите удалить это свойство.

— В конце концов, я буду использовать fromEntries, чтобы вернуть массив массивов в один объект, и мы хотим отфильтровать нулевые значения, потому что их передача в fromEntries вызовет ошибку.

Вот реализация:

использование с объектом, который мы сначала создали:

Этот пример очень простой, но вы можете выполнять очень мощные преобразования для своих объектов.

Список литературы, которая может быть полезна

Объект.записи

Объект.изЗаписей

Реализация функций высшего порядка массива