Это функции более высокого порядка в JavaScript.

Большинство людей понимают, что такое карта, фильтр и редукция, но не знают, где их использовать. Беспокоитесь?
Не волнуйтесь, я все упростил для вас!

• Функция Array.map()

Функция map в основном используется для преобразования массива.
Предположим, массив,

const обр = [5, 1, 3, 2, 6];

Теперь мы хотим преобразовать массив. Что я имею в виду под преобразованием массива?
Таким образом, преобразование означает, предположим, что я хочу преобразовать каждый элемент массива и получить из него новый массив.
Результирующий массив,

const double = [10, 2, 6, 4, 12];
где все элементы имеют двойное значение значения элементов исходного массива.

Другое подобное преобразование,

const triple = [15, 3 ,9, 6, 18];
аналогично, все элементы имеют тройное значение значения элементов исходного массива.

Одним из преобразований может быть,

const binary = ["101", "1", "11", "10", "110"];
который является двоичным для каждого из этих отдельных элементов исходного массива.

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

Давайте посмотрим, как мы можем это закодировать

Это также совершенно правильный JavaScript, т. е. мы также можем передавать функции в функцию карты, и поэтому они известны как функции более высокого порядка.

Мы также можем передать стрелочные функции функции карты.

Мы передаем функцию в array_name.map(). Функция, которая в основном говорит вам, какое преобразование вам нужно?
Хотим ли мы удвоить, хотим ли мы утроить или мы хотим или найти двоичный код или что нам нужно сделать, какую логику преобразования мы хотим применить к наш массив!

Что он делает внутри, так это запускает функции над каждым значением массива и создает из него новый массив, и этот новый массив будет внутри вывода.

  • Функция Array.filter()

Эта функция в основном используется для фильтрации!
Вы можете подумать, ЧТО???

Нет, я не шучу. Функция фильтра используется для фильтрации элементов внутри массива.
Предположим, массив,

const обр = [5, 1, 3, 2, 6];

Нам могут понадобиться все четные числа в массиве, или мы можем запросить все нечетные числа или все числа больше 2, или мы хотим отфильтровать все элементы, делящиеся на 3 внутри массива.

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

Давайте закодируем это сейчас!

  • Функция Array.reduce()

Поскольку название говорит «уменьшить», функция ничего не уменьшает.
Если бы я дал шанс, я бы никогда не назвал ее сокращением, потому что это так сбивает с толку, когда оно говорит «уменьшить», и мы не знаем, что мы уменьшаем, что это означает?

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

Звучит запутанно?
Давайте разберемся на примере.

Предположим, массив,

const обр = [5, 1, 3, 2, 6];

Вы должны перебрать каждый элемент массива и найти сумму всех этих элементов в массиве или, может быть, просто хотите перебрать массив и найти самый большой элемент внутри массива, в таких случаях мы используем сокращение!

Код для нахождения суммы элементов массива с использованием обычной функции:

Код для нахождения суммы элементов массива с помощью функции фильтра:

reduce будет перебирать внутреннюю функцию по каждому элементу массива, и что она будет делать, так это то, что curr (текущий или второй параметр) представляет значение внутри reduce(), которое мы итерируем по массиву.

И acc (накопитель или первый параметр) используется для накопления значений или накопления результата, который мы должны получить из этих значений, присутствующих в массиве.

Для лучшего понимания давайте сравним вышеупомянутые способы:

текущий в основном представляет собой «arr[i]», т. е. текущие значения массива и аккумулятора являются «суммой», т. е. в традиционном методе мы накапливаем сумму в переменной суммы, поэтому здесь также!

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

Теперь с основами покончено!
Давайте перейдем к одному сложному вопросу.

  1. уменьшать()

2. карта ()

3. фильтр()

Я надеюсь, вы ожидали, что результат будет ["Janhvi", "Ronald"], но мы получили результат в виде объектов!

ПРИМЕЧАНИЕ. Сила этих функций заключается в цепочке. Это означает, что вы сопоставляете цепочку кулачков, фильтруете и уменьшаете.

Теперь мы получили желаемый результат!
Давайте углубимся в него один раз, разберем и посмотрим, как это работает,

Итак, сначала мы взяли пользователей, и что мы сделали с объектом, так это отфильтровали его. Мы отфильтровали x и возраст x меньше 25. Это означает предоставление списка всех пользователей, чей возраст меньше 25.
Теперь произошло то, что массив пользователей теперь сократился до желаемых пользователей.
Теперь мы пробежались по карте. Поскольку нам нужно было только имя, мы сделали x.firstName.
Ура! Теперь мы получили тот результат, который хотели.

Бонус: вы также можете использовать сокращение для решения вышеуказанной проблемы.
Узнайте сами и дайте мне знать!

Надеюсь, вам понравилось.
Сделано с любовью | Джанви Сингх