Публикации по теме 'ramda'
JavaScript: получить уникальные элементы массива ОБЪЕКТОВ, удалить дубликаты в ОДНОСТРОЧНОМ коде, да!
Это древний вопрос, которому миллион лет. Зачем снова поднимать этот античный вопрос?
Когда я сегодня просматриваю StackOverflow , всплывает этот вопрос . Как обычно, пресловутые админы StackOverflow вскоре пометили его как приостановлено , даже не удосужившись взглянуть на него поближе! и ОП мгновенно получила -4 голоса против. О боже ...
Короче говоря, вопрос заключается в том, чтобы получить уникальный элемент в массиве объектов (не примитивов, таких как целое..
Упрощенные линзы в JavaScript с reshape-ramda
reshape-ramda — это библиотека, которая использует обратное сопоставление шаблонов, чтобы сделать линзы очень простыми.
/* Creates lens
from anything implementing:
{ a: any, b: { c: any } }
to:
{ x: any, y: any }
*/
lensFromPattern({
a: 'x',
b: {
c: 'y',
},
})
Линзы особенно полезны в JavaScript, но с ними может быть немного сложно работать. Очень популярной библиотекой для линз является Ramda , и она дает три основных способа изготовления линз:
lens : передайте ему..
Составление функций в JavaScript
Использование подхода функционального программирования к конвейерным функциям в JavaScript
Переписка из моей статьи dev.to с таким же названием.
Недавно я прочитал здесь, на Medium, статью об использовании стиля конвейера в JavaScript . В статье описывается, как связать функции вместе, чтобы данные проходили через все из них. В этой статье я упустил из виду вкус функционального программирования. Давайте сделаем еще один шаг и добавим немного FP.
Использование конвейеров в..
Почему вам следует изучать функциональное программирование — Ансси Пийрайнен
Введение
Первые 10 лет своей карьеры программиста я занимался объектно-ориентированным (ОО) программированием. Я работал в основном с Java. Я пытался овладеть искусством объектно-ориентированного программирования и изучил шаблоны проектирования, которые помогли мне придумать структуры классов, которые избегают дублирования кода и являются гибкими и адаптируемыми к будущим изменениям. Мой код был полон классов.
Все начало меняться после того, как я начал программировать на..
Создайте сервер MQTT, используя парадигму функционального программирования.
У нас есть несколько библиотек, которые помогают нам с маршрутами и перенаправляют запрос на нужную функцию (также известную как контроллер) на http-серверах, но как насчет MQTT?
В MQTT мы получаем тему с полезной нагрузкой, и мы должны понять, о чем этот запрос, и обработать этот запрос с помощью правильной функции.
server.on('published', (packet, client, cb) => {
// Whats to do with the package ?
});
Вопрос, на который я попытаюсь ответить, заключается в том, как..
Мы только что выпустили [email protected].
Мы только что выпустили [email protected] . Релиз содержит 3 новых функции. Некоторое время было потрачено на инфраструктурные вопросы: например, перенос части нашего пайплайна CI с CircleCI на GitHub Actions .
индексированный фильтр
Функция R.filter , которая больше похожа на Array.prototype.filter . Он принимает два новых параметра для своей функции обратного вызова: текущий индекс и весь список. filterIndexed реализация проста: const filterIndexed =..
работа: выпуск ramda-adjunct v2.16.0
Мы только что выпустили ramda-adjunct v2.16.0 . В этом релизе появился важный инструмент для асинхронного программирования — функция преобразования Промисов , производящих Генераторы , в промисы (функция создания промисов).
Мы также написали связанную статью Использование генераторов JavaScript для получения промисов , в которой конкретно рассматриваются рассуждения и эволюция этой техники асинхронного программирования.
асинхронный
Принимает функцию генератора и возвращает..