Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 08

ΣБ

Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО 🍃 Суацк есть - пятен нет. Теперь на 20% ♻️ больше in TypeScript — русскоговорящее сообщество
Maxim Sosnov
интересные у вас тут споры :)
Вообще ни о чем
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Если у меня тупо полная императивщина идет со всякими циклами, естественно я не буду reduce лепить, но чаще всего происходит не так и логичнее использовать именно его
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
А ты тут не в бане?(
источник

ΣБ

Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО 🍃 Суацк есть - пятен нет. Теперь на 20% ♻️ больше in TypeScript — русскоговорящее сообщество
Time is the side effect
А ты тут не в бане?(
Привет нет
источник

ΣБ

Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО 🍃 Суацк есть - пятен нет. Теперь на 20% ♻️ больше in TypeScript — русскоговорящее сообщество
Яж не умный, чтоб в баню ходить
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Time is the side effect
Оно более декларативно и чейнится, все нужные переменные только в замыкании внутри колбека (если конечно не юзать что-то снаружи)
И кстати за счет доступного только внутри колбека acc, нет лишних переменных
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Time is the side effect
Ну представь у тебя есть код вроде

something
 .map(...)
 .filter(...)

Что будет лучше, присвоить в отдельную переменную и запилить цикл ниже, или просто продолжить чейн редьюсом?
Я бы не ставил так вопрос. Если хочется продлить цепочку, то придется использовать reduce. Но зачем продлевать цепочку?
источник

a

artalar in TypeScript — русскоговорящее сообщество
Нужно в начальное значение аккумулятора передавать всегда иммутабельную ссылку. Не нужно из редьюса возвращать новый объект. Тред закрыт.
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Vladimir Kurchatkin
Я бы не ставил так вопрос. Если хочется продлить цепочку, то придется использовать reduce. Но зачем продлевать цепочку?
Затем что нужно сделать какие-то операции для которых подходит reduce/цикл с вручную созданными промежуточными переменными
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
artalar
Нужно в начальное значение аккумулятора передавать всегда иммутабельную ссылку. Не нужно из редьюса возвращать новый объект. Тред закрыт.
Ну вот люди спорят почему-то, почему не знаю
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Формально с помощью reduce можно сделать вообще что угодно
источник

a

artalar in TypeScript — русскоговорящее сообщество
artalar
Нужно в начальное значение аккумулятора передавать всегда иммутабельную ссылку. Не нужно из редьюса возвращать новый объект. Тред закрыт.
Правило объясняется очень просто: мутировать можно там, где ссылка (в которой значения мутируются) не выходит за пределы скоупа функции мутации.
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Так что вопрос широкий - для каких операций подходит reduce
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Кстати да, мутации не всегда плохо) И кто сказал что для них нужен именно цикл, а не редьюс, интересно где это написано, в какой-то умной книжке?
источник

s

sterioss in TypeScript — русскоговорящее сообщество
Vladimir Kurchatkin
Так что вопрос широкий - для каких операций подходит reduce
Для любых которые устраивают вашу команду
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Для любых в которых reduce хорошо ложится в остальной код
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Time is the side effect
Кстати да, мутации не всегда плохо) И кто сказал что для них нужен именно цикл, а не редьюс, интересно где это написано, в какой-то умной книжке?
Никто не говорит что мутации это плохо. Плохо использовать reduce как forEach, потому что это вводит в заблуждение
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Ну и лично я предпочитаю не юзать редьюс когда внутри будут сайд эффекты, беру цикл
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
forEach лучше вообще практически никогда не использовать)))
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
Time is the side effect
forEach лучше вообще практически никогда не использовать)))
Ну для итерации по массивам? Есть куча причина использовать всегда for of, конечно
источник