Введение

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

карта

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

Синтаксис: array.map(callback(element[, index[, array]])[, thisArg])

Пример:

const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map(number => number * 2);

console.log(doubledNumbers); // [2, 4, 6, 8, 10]

Уменьшать

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

Синтаксис: array.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

Пример:

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((accumulator, currentValue) => {
  return accumulator + currentValue;
}, 0);

console.log(sum); // 15

Фильтр

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

Синтаксис: array.filter(callback(element[, index[, array]])[, thisArg])

Пример:

const numbers = [1, 2, 3, 4, 5];

const evenNumbers = numbers.filter(number => number % 2 === 0);

console.log(evenNumbers); // [2, 4]

Заключение

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

  1. Карта веб-документов Mozilla Developer Network (MDN)
  2. Сокращение веб-документов Mozilla Developer Network (MDN)
  3. Фильтр веб-документов Mozilla Developer Network (MDN)

Понравилось читать? Еще не являетесь участником Medium? Вы можете поддержать мою работу напрямую, зарегистрировавшись по моей реферальной ссылке здесь. Это быстро, просто и не требует дополнительных затрат. Спасибо за вашу поддержку!