Введение
Функциональное программирование — это парадигма программирования, которая рассматривает вычисления как оценку математических функций и избегает изменения состояния или изменяемых данных. В этом сообщении блога мы исследуем возможности функционального программирования в 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 более эффективными и понятными.
- Карта веб-документов Mozilla Developer Network (MDN)
- Сокращение веб-документов Mozilla Developer Network (MDN)
- Фильтр веб-документов Mozilla Developer Network (MDN)