Публикации по теме '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 для получения промисов , в которой конкретно рассматриваются рассуждения и эволюция этой техники асинхронного программирования. асинхронный Принимает функцию генератора и возвращает..