Map(), filter() и reduce() — очень важные методы работы с массивами в JavaScript. В этой статье мы узнаем об этих методах массива. Иногда их может быть трудно понять, но мы рассмотрим методы более подробно, чтобы прояснить ситуацию.

Как использовать карту():

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

Основной синтаксис map():

Пример:

Это исходный массив. Нам нужен новый массив, в котором каждый элемент выше умножен на 5. Мы можем использовать функцию массива map() для получения нового массива, в котором каждый элемент умножен на 5.

Код:

Вывод:

Здесь у меня есть функция массива arr со значением [1,2,3,4,5]. Мы используем метод map(), в котором мы передаем num (num — это значение, переданное методом map()), которое будет умножено на 5, а затем возвращено функцией стрелки. Затем будет создан новый массив arrnew со значением [5,10,15,20,25]. Вот как работает метод map().

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

Как использовать filter():

filter() — это метод массива, который создает новый массив, значение которого соответствует условию, полученному из исходного массива. Метод filter() не выполняет функцию для пустых элементов. Метод filter() не изменяет исходный массив.

Основной синтаксис filter():

Пример:

Это исходный массив. Нам нужен новый массив, в котором из исходного массива присутствуют только положительные элементы.

Код:

Вывод:

Здесь у меня есть функция массива arr со значением [-1,4,-11,3,5,6,-8,9,-11,-21]. Filter() будет возвращать true или false каждый раз, когда для сравнения передается новое num, где переменная 'num' передает данные методом filter(). . Затем будет создан новый массив arrnew со значением [ 4, 3, 5, 6, 9 ]. Вот как работает метод filter().

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

Как использовать сокращение():

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

Пример:

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

Код:

Вывод:

Здесь у меня есть функция массива arr со значением [1,3,5,7,8,3,2,5]. В этом случае Reduce() получает два аргумента: num и ele, где num служит аккумулятором, а ele содержит значение элемента массива.

Первоначально num будет иметь значение 0, а ele будет иметь 1 (первый элемент массива). При первом запуске функция редуктора добавит num + ele и вернет результат.

Во втором запуске num будет содержать результирующее значение, равное 1, а ele теперь будет содержать 3. Теперь функция редуктора снова добавит num + ele и вернет результат.

При третьем запуске num будет содержать результирующее значение, равное 4, а ele теперь будет содержать 5. Теперь функция редуктора снова добавит num + ele и вернет результат.

Этот процесс продолжается до конца массива.

Вывод:

Я надеюсь, что смог решить любую проблему, которая возникла у вас в map(),reduce() и filter(). Спасибо, что прочитали эту статью.

Продолжайте кодировать!