Size: a a a

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

2020 March 19

A

Alex in JavaScript — русскоговорящее сообщество
🦜
Тогда не пытайся подсказать
я просто вижу что в редьюсе он возвращает объект, а спрашивает про массив, вот я и предложил вернут массив 😐
или я вопрос не понял?
источник

AK

Alexander Kachesov in JavaScript — русскоговорящее сообщество
🦜
Посмотри код внимательно
И что же конкретно мешает использовать в качестве аккумулятора массив, а не объект?
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Alexander Kachesov
И что же конкретно мешает использовать в качестве аккумулятора массив, а не объект?
Работа с ключами, очевидно.
источник

🦜

🦜 in JavaScript — русскоговорящее сообщество
Alexander Kachesov
И что же конкретно мешает использовать в качестве аккумулятора массив, а не объект?
Чтобы добавить элемент нужно будет ещё один цикл на поиск нужного объекта
источник

RB

Random Balance in JavaScript — русскоговорящее сообщество
Группировка по типу, если быть точнее.
источник

AK

Alexander Kachesov in JavaScript — русскоговорящее сообщество
🦜
Чтобы добавить элемент нужно будет ещё один цикл на поиск нужного объекта
ну если не нравится find, и в то же время не хочется использовать Object.values - сохранять объекты и в мапе и в массиве одновременно
источник

AK

Alexander Kachesov in JavaScript — русскоговорящее сообщество
Только смысла большого не вижу городить такое
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
Alexander Kachesov
Только смысла большого не вижу городить такое
time complexity vs space complexity
смотря чего нужно человеку: быстрее или памяти меньше кушать
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
с учетом того, что современные железки и быстрые и памяти хоть попой жуй, тут уже аксиома Эскобара применима
источник

AK

Alexander Kachesov in JavaScript — русскоговорящее сообщество
Да я с той точки зрения, что скорее это преждевременная оптимизация. Разработчики движков оптимизируют нативные методы и если можно заюзать нативный метод для решения задачи в большенстве случаев это будет более удачное решение, чем что-то вокруг городить.
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
Alexander Kachesov
Да я с той точки зрения, что скорее это преждевременная оптимизация. Разработчики движков оптимизируют нативные методы и если можно заюзать нативный метод для решения задачи в большенстве случаев это будет более удачное решение, чем что-то вокруг городить.
ну, преждевременная она или нет автору лучше знать, наверное
может у них это бутылочное горлышко и они миллиарды теряют из за того, что из объекта в массив значения вытаскивают
источник

t

th.witness in JavaScript — русскоговорящее сообщество
Alexey Ermakov
ну, преждевременная она или нет автору лучше знать, наверное
может у них это бутылочное горлышко и они миллиарды теряют из за того, что из объекта в массив значения вытаскивают
:D
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
ну а вообще просто "сделать красиво" это тоже хорошо
любой нормальный программист, если сроки не давят, старается написать оптимальный с точки зрения big-O/читаемости код :)
источник

АН

Александр Некий in JavaScript — русскоговорящее сообщество
Alexey Ermakov
ну а вообще просто "сделать красиво" это тоже хорошо
любой нормальный программист, если сроки не давят, старается написать оптимальный с точки зрения big-O/читаемости код :)
Если он конечно не Рубист...
источник

A

Alex in JavaScript — русскоговорящее сообщество
вот накидал пример
***
const series = values.reduce((acc, { laType, time, value }) => {
   if (!acc.find(o => o.name === laType)) {
       acc.push({
           name: laType,
           data: [[time, value]],
       });
   }

   for (const o of acc) {
       if (o.name === laType) o.data.push([time, value]);
   }

   return acc;
}, [])
***
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
Alex
вот накидал пример
***
const series = values.reduce((acc, { laType, time, value }) => {
   if (!acc.find(o => o.name === laType)) {
       acc.push({
           name: laType,
           data: [[time, value]],
       });
   }

   for (const o of acc) {
       if (o.name === laType) o.data.push([time, value]);
   }

   return acc;
}, [])
***
ну вот внутри цикла ещё один цикл по массиву - пахнет
источник

A

Alex in JavaScript — русскоговорящее сообщество
Alexey Ermakov
ну вот внутри цикла ещё один цикл по массиву - пахнет
ага 😕
думаю что можно еще причесать
источник

РД

Рустам Демонов in JavaScript — русскоговорящее сообщество
Ребят кто может развеять мои сомнения, вопрос про замыкания.
На каждой итерации у цикла for своя область видимости, но как тогда там объявляется переменная с нужным значением, если мы объявляем её один раз?(имеется ввиду при объявление через let)
источник

VP

Vitalii Ponich in JavaScript — русскоговорящее сообщество
Рустам Демонов
Ребят кто может развеять мои сомнения, вопрос про замыкания.
На каждой итерации у цикла for своя область видимости, но как тогда там объявляется переменная с нужным значением, если мы объявляем её один раз?(имеется ввиду при объявление через let)
имеешь ввиду for(let i=0;....)?
источник

РД

Рустам Демонов in JavaScript — русскоговорящее сообщество
Vitalii Ponich
имеешь ввиду for(let i=0;....)?
Да
источник