а на employee пофигу?
К сожалению его фактор тоже важен, ибо это ФИО клиента и в дальнейшем тоже будет использоваться. Хотя если в этом случае будет пофиг, то там дальше по коду соединить. Как же достали эти дубликаты и вложенности😭
вы хотите по итогу плоский массив айтемов или ту же структуру сохранить я запутался с примером данных до / после было бы значительно проще
Спасибо что помогаете, По итогу массив практический не должен измениться, а должны удалится объкты с одинаковым name, останется лишь один с таким name, а их amount сложить
так, мб, и employees тоже в массив пихнуть, раз они вам нужны будут или как?
можно по идее, сейчас главное убрать чертовы дубликаты name и сложить их amount
можно в два прохода через reduce собрать в Map по ключу name, потом взять values люблю этот вариант
function getUniqueListBy(arr, key) { return [...new Map(arr.map(item => [item[key], item])).values()] } Типа так ?
ну вот типа групбая, да
но прям так не надо, потому что ещё раз ходить придётся
мне стало скучно visits.map(({ items, ...rest }) => { const groupedItems = items.reduce((acc, item) => { if (acc.has(item.name)) { acc.get(item.name).amount += item.amount; } esle { acc.set(item.name, { ...item }); } return acc; }, new Map()); return Object.assign(rest, { items: Array.from(groupedItems.values()) }); });
Вам тоже большое спасбио💜
ток не факт, что оно работает, я ничё не проверял, как обычно
и складывание employee в массив, кстати, одна строчка добавляется
Да, оно не работает) Вот сейчас сижу разбираюсь
если кинете массивчик ваш, то подправлю ток не сообщением, а на пестбин куда-нить
Окей, если возникнут проблемы скину
https://pastebin.com/WeJg3LyZ
В итоге как я понимаю должно получиться: https://pastebin.com/9JijEntY
у меня там esle, а не else хд вообще говоря, я думал, вы хотите в этот item всё запихать, а у вас всё в одном visit я, крч, запутался насчёт того, что вы хотите
Ага, там esle тоже угарнул) Сам запутался, щя подумаю
Обсуждают сегодня