Size: a a a

JavaScript Noobs — сообщество новичков

2021 October 08

bz

bogdan zots in JavaScript Noobs — сообщество новичков
хм, не знаю что это ) пойду почитаю
источник

D

DiZiNnEs in JavaScript Noobs — сообщество новичков
Приходит массив в котором N количество visits, и внутри них ещё вложенность тоже N количество items,  и name может повторяться, и необходимо удалять дубликат по name и соединять их amount в один. Как бы это красиво реализовать ? Уже начал писать большую функцию, но боюсь что она вообще будет не читабельной и криво работать

https://pastebin.com/zas52dwj
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
а на employee пофигу?
источник

D

DiZiNnEs in JavaScript Noobs — сообщество новичков
К сожалению его фактор тоже важен, ибо это ФИО клиента и в дальнейшем тоже будет использоваться. Хотя если в этом случае будет пофиг, то там дальше по коду соединить. Как же достали эти дубликаты и вложенности😭
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
вы хотите по итогу плоский массив айтемов или ту же структуру сохранить

я запутался

с примером данных до / после было бы значительно проще
источник

D

DiZiNnEs in JavaScript Noobs — сообщество новичков
Спасибо что помогаете,

По итогу массив практический не должен измениться, а должны удалится объкты с одинаковым name, останется лишь один с таким name, а их amount сложить
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
так, мб, и employees тоже в массив пихнуть, раз они вам нужны будут или как?
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
вы щас тут наагрегируете 300 раз туда-сюда
источник

D

DiZiNnEs in JavaScript Noobs — сообщество новичков
можно по идее, сейчас главное убрать чертовы дубликаты name и сложить их amount
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
можно в два прохода
через reduce собрать в Map по ключу name, потом взять values
люблю этот вариант
источник

D

DiZiNnEs in JavaScript Noobs — сообщество новичков
function getUniqueListBy(arr, key) {
   return [...new Map(arr.map(item => [item[key], item])).values()]
}


Типа так ?
источник

SS

Stanislav Skuratov in JavaScript Noobs — сообщество новичков
Может это натолкнёт на решение:
https://stackoverflow.com/questions/14446511/most-efficient-method-to-groupby-on-an-array-of-objects

Тут реализуют GroupBy. Один из вариантов
https://gist.github.com/robmathers/1830ce09695f759bf2c4df15c29dd22d
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
ну вот типа групбая, да
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
мы тут такое сто раз писали, вообще говоря
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
поищите
источник

D

DiZiNnEs in JavaScript Noobs — сообщество новичков
Хорошо, спасибо
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
если не получится - пишите, я накидаю
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
но прям так не надо, потому что ещё раз ходить придётся
источник

КК

Ксяу Ка in JavaScript Noobs — сообщество новичков
кстати, не так просто "гуглить" по группе
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
ну надо по контексту искать и норм
типа "сгруппировать" и т.п.
источник