Size: a a a

2021 July 01

AB

Anton Burkin in javascript_ru
В 2019 летом у меня был проект на asp.net core mvc 2.2 + JQuery
источник

AF

Alexey Fedotov in javascript_ru
вот так я писал на рамде, когда только увлёкся, тоже был упоротым по пойнтфри

const prepareTranslations = conf => pipeP(
 fetchTranslations,
 convertToTree,
 map(map(transformToLocalFormat)),
 produceSideEffect(createMissingDirectories(conf)),
 toFlatTree,
 mapObjIndexed(saveFile(conf)),
);
источник

AF

Alexey Fedotov in javascript_ru
А вот так я писал, когда повзрослел немного

import { map, reduce, filter, reject, isNil } from 'ramda';

function RoseTree(value, children) {
 if (!this) {
   return new RoseTree(value, children);
 }

 Object.assign(this, { value, children });
}

RoseTree.prototype['fantasy-land/map'] = function (f) {
 return RoseTree(f(this.value), map(map(f), this.children));
};

RoseTree.prototype['fantasy-land/reduce'] = function (f, acc) {
 return reduce(
   (innerAcc, rt) => reduce(f, innerAcc, rt),
   f(acc, this.value),
   this.children,
 );
};

RoseTree.prototype.find = function (f) {
 const stack = [this];
 while (stack.length) {
   const searched = stack.pop();
   if (f(searched.value)) return searched;
   stack.push(...searched.children);
 }

 return undefined;
};

RoseTree.prototype.filter = function (f) {
 if (!f(this.value)) return null;
 return RoseTree(this.value, reject(isNil, map(filter(f), this.children)));
};

export default RoseTree;
источник

DM

Denys Mikhalenko in javascript_ru
Ну я на рамде тоже писал, хотя код уже не найду канеш
источник

DM

Denys Mikhalenko in javascript_ru
Ну вот нашел пример на стековерфлоу моего ответа
https://stackoverflow.com/a/36190070/4011020
источник

DM

Denys Mikhalenko in javascript_ru
2016 год между прочим )
источник

DM

Denys Mikhalenko in javascript_ru
Это к слову о том, что я там что-то краем уха слышал про фп :-)
источник

DM

Denys Mikhalenko in javascript_ru
Сможешь рассказать, как работает моё решение?
источник

DM

Denys Mikhalenko in javascript_ru
Раз уж ты такой знаток фп и рамды
источник

AF

Alexey Fedotov in javascript_ru
так оно же в бесточечном стиле написано
источник

AF

Alexey Fedotov in javascript_ru
бесточечно = нечитаемо
источник

DM

Denys Mikhalenko in javascript_ru
Ну так это и есть настоящее фп
источник

DM

Denys Mikhalenko in javascript_ru
А у тебя - императивщина с легким налётом композиции
источник

VC

Valera CSS_Junior in javascript_ru
а как в next router сделать чтобы поменять только одно велью в router.query, но сохранить все остальное?
например я на странице http://localhost:3000/ru/page/chromium?utm_source=down
делаю так:
const newBrowser = firefox
router.push({
     query: {
       ...router.query,
       browser: newBrowser,
     }
});
и переходит на http://localhost:3000/page/firefox?utm_source=down теряется /ru из адреса, а мне нужно было только chromium на firefox поменять.
источник

AG

Artur Gaziev in javascript_ru
помогите построить логику.
есть array из объектов (всего 30 штук)
хочу построить из них стол из карточек. 1 объект - 1 карточка друг за другом.
для начала надо показать первые 10, далее по кнопке загрузить еще 10 и еще 10.
все это на чистом JS без фреймворка
я так полагаю для первого показа 10 штук должна быть функция рендера которая вывозит первые 10
но что в теле функции трудно сообразить
источник

D

Danil in javascript_ru
попробуй по индексу, выводить пока i <= 9
источник

D

Danil in javascript_ru
хотя я сам тот еще эксперт.. но думаю вариант рабочий
источник

DM

Denys Mikhalenko in javascript_ru
Настолько простая задача, что даже не знаю, что подсказать
С чем конкретно проблема? Не получается рендерить часть массива, а не весь?
источник

AG

Artur Gaziev in javascript_ru
да задача то простая, просто опыта у меня нет в написании логики. я могу код написать но с логикой трудно ))
источник

D

Danil in javascript_ru
ну с индексом логика правильная?
источник