@JSlang

Страница 1046 из 2237
Vyacheslav
07.07.2017
06:49:42
Хотя да, глупое решение, названия ключей теряются
кстати да. а как теперь привести к формату "'order1': 3, и т.д."

Дмитрий
07.07.2017
06:50:08
Моё решение можно запихнуть в transducer

Будет быстрее чем все остальные

Google
Oleg
07.07.2017
06:51:53
А точно трансдьюсер будет быстрее?

Дмитрий
07.07.2017
06:52:02
Стопудов

Oleg
07.07.2017
06:52:54
Поверю на слово

Дмитрий
07.07.2017
06:53:05
Поверю на слово
Трансдюсер — это когда из последовательности мапов и редьюсов (а так же большого числа производных задач) делается ряд однопроходных вычислений

Oleg
07.07.2017
06:53:21
...то есть по сути редусер

Если один он

Daniel
07.07.2017
06:53:33
Если сделать одним нативным редьюсом, то будет медленнее рамды?

Дмитрий
07.07.2017
06:53:39
Это абстракция над ним

Oleg
07.07.2017
06:53:47
?

Вот!

Дмитрий
07.07.2017
06:53:57
Приводяющая всё к одному виду. Это НЕ редюсер

Oleg
07.07.2017
06:53:59
По этому и разговор про это

Google
Дмитрий
07.07.2017
06:54:05
Хотя и очень близок к нему

Daniel
07.07.2017
06:54:12
Да понятно, как работают трансдюсеры

Вопрос в том, быстрее ли они одного нативного вызова

Дмитрий
07.07.2017
06:54:29
То есть мы выкидываем все промежуточные массивы и каждый элемент последовательно превращается из начального состояния сразу в конечное

Целикового кода никто больше не предоставил))

Daniel
07.07.2017
06:55:18
Ну все, я расчехляю свою мобильную клавиатуру

arr .reduce((acc, { order }) => { acc[order] = (acc[order] || 0) + 1; return acc; }, {})

Дмитрий
07.07.2017
06:57:20
На выходе должна быть строка

Потому что у меня строка))

Daniel
07.07.2017
06:57:33
А, там строка

Пашок
07.07.2017
06:57:56
Мм, вот бы щас в редьюсе мутировать элементы а потом их же возвращать

Дмитрий
07.07.2017
06:58:14
Вопрос в том, быстрее ли они одного нативного вызова
Кстати интересный вопрос, учитывая то, что нативные map/reduce не являются самой быстрой реализацией из возможных на жс

Daniel
07.07.2017
06:58:14
Мм вот щас бы не понимать как аккумулятор работает

Пашок
07.07.2017
06:58:31
а блять редьюс же

сори

Oleg
07.07.2017
07:00:00
Но если расширить прототип массива, добавив ему инкрементер указанного значения с возвратом самого себя назад - можно и без разделения на 2 части

Vyacheslav
07.07.2017
07:02:23
Oleg
07.07.2017
07:03:28
Но если пишешь код для себя - то нельзя

Google
Oleg
07.07.2017
07:03:47
А вообще это были филосовские размышления :D

Дмитрий
07.07.2017
07:05:16
Но если пишешь код для себя - то нельзя
Расширять прототипы встроенных объектов вообще нельзя, не только для себя

Oleg
07.07.2017
07:05:55
А вообще это были филосовские размышления :D

Artyom
07.07.2017
07:23:54
Простите, может быть, за глупый вопрос. Ramda - это функциональный (синтаксически) lodash или там еще что?

Roman
07.07.2017
07:24:59
ну в целом да

но там естьеще ramda-fantasy с монадами

Artyom
07.07.2017
07:30:53
А какие профиты? нужно ли это в обычной жизни (сложная бизнесс логика с фильтрами)? Какие кейсы у меня должны быть, что бы я задумался о переходе на нее?

Дмитрий
07.07.2017
07:33:58
Нету больше ramda-fantasy

Кирилл
07.07.2017
07:34:57
можно открыть fantasy-land и понять свою никчемность

Дмитрий
07.07.2017
07:35:37
Да они нерды просто. Я уже использовал метафору про мычание сегодня, но к монадам это относится гораздо больше

Roman
07.07.2017
07:36:26
Дмитрий
07.07.2017
07:36:30
Functor — коробка с объектом, которая имеет метод .map, такой же как в массиве

Ну и так далее

чей-то нету
issues открой

Дмитрий
07.07.2017
07:37:20
При желании, да

Сейчас просто сравнивать не с чем, больше решений нет, лол

Кирилл
07.07.2017
07:38:31
оно лаконичней но нужно знать что делают все эти функции, можно решить средствами языка но будет более многословно прост

Google
Дмитрий
07.07.2017
07:39:16
Кэп)

Roman
07.07.2017
07:39:42
и медленне скорее всего, чего уж там

Кирилл
07.07.2017
07:39:46
я к тому что для 95% второй вар будет читабельней

Дмитрий
07.07.2017
07:40:04
и медленне скорее всего, чего уж там
Нативный map — не самый быстрый в жс ?

Artyom
07.07.2017
07:40:26
Нативный map — не самый быстрый в жс ?
Есть что почитать на этот счет?

Кирилл
07.07.2017
07:40:35
хех это заразно походу

Дмитрий
07.07.2017
07:40:37
я к тому что для 95% второй вар будет читабельней
Это их проблемы, с такой формулировкой можно отсеять вообще всё, вот буквально каждую либу

Кирилл
07.07.2017
07:42:28
ну тут уж сам определяешь грань между библиотека облегчает жизнь и излишним нагромождением левого кода

Дмитрий
07.07.2017
07:42:40
Ну и когда всё подчинено общей идее как то меньше о всяких мелочах задумываешься. На следующем левел апе можно не проверять значения на null например, если есть вероятность что такие могут быть

Admin
ERROR: S client not available

Дмитрий
07.07.2017
07:43:03
ну тут уж сам определяешь грань между библиотека облегчает жизнь и излишним нагромождением левого кода
Излишнее нагромождение левого кода — это когда луддизм побеждает нормальные подходы)

Кирилл
07.07.2017
07:43:11
ну это уже профиты фя типа одинаковых интерфейсах и т д

Дмитрий
07.07.2017
07:43:16
Нет

(я конкретно про null), просто это всё так работате

Roman
07.07.2017
07:43:45
эпидемия

Кирилл
07.07.2017
07:44:04
луддизм - новый день - новое слово ?

Дмитрий
07.07.2017
07:44:18
эпидемия
Где? Я про рамду задвигал когда в группе ещё тысячи человек не было)

Дмитрий
07.07.2017
07:49:23
Есть что почитать на этот счет?
Нативный map должен проверять значение в массиве на присутствие

jsperf.com/native-map-vs-handmade/1 Вот я недавно делал

Google
Дмитрий
07.07.2017
07:51:53
С map там вообще разрыв раза в два получается

Sergey
07.07.2017
07:53:45
С map там вообще разрыв раза в два получается
Я вот кстати так и не понял почему

Евгения
07.07.2017
07:54:25
Привет! Есть #вакансия в Питере Web-разработчика. Требования: • Уверенное владение python/javascript (2.7+/3+). • Знакомство с NoSQL. • Опыт работы с системами контроля версий: git/mercurial. • Linux/MacOS в качестве основной ОС. • Знание современных js-фреймворков с пониманием их архитектуры. О задачах: Задачи будут по большей части по фронтэнду. Сейчас мы находимся в фазе перехода от устаревшего монолитного приложения к микросервисной архитектуре. Работа будет над системой электронного документооборота (АТИ-Доки), мессенджером (АТИ-мессенджер), информационным изданием (АТИ-Медиа) и впереди еще много интеграционных проектов. Разработка ведется в автоматизированной и покрытой тестами инфраструктуре. Предлагаем: Зарплата до 150 т.р. нетт, гибкий график, ДМС, компенсация спорта, языковых курсов, бесплатные обеды, оплата профессиональных конференций и семинаров; офис в БЦ класса А. e-mail: evgeniya.k@ati.su

Sergey
07.07.2017
07:54:26
Чего они такого на нативном уровне делают что JS имплементация работает быстрее

*сорцы читать лень*

Кирилл
07.07.2017
07:55:49
-

Artyom
07.07.2017
07:55:57


А, понял

Gkio
07.07.2017
07:57:12
Array.prototype.forEach.call > [].forEach.call > map

Sergey
07.07.2017
07:57:25


Дмитрий
07.07.2017
08:03:16
Да, я только что апдейтнул с forEach на map)



Чего они такого на нативном уровне делают что JS имплементация работает быстрее
При каждом новом элементе проверяют, не null ли он, если нет — то делают push в массив результатов

Дмитрий
07.07.2017
08:05:59
https://jsperf.com/native-map-vs-handmade/3

А это разве православная реалиция мап?
В моём описании — да, именно так она и работает

Sergey
07.07.2017
08:06:30
Если я все правильно помню сколько элементов у массива на входе столько и на выходе должно быть

И не важно null оно или undefined

Вишневый чай
07.07.2017
08:07:24


какая-то нереальная разница

Страница 1046 из 2237