169 похожих чатов

Приходит массив в котором N количество visits, и внутри них

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

https://pastebin.com/zas52dwj

22 ответов

15 просмотров

а на employee пофигу?

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
а на employee пофигу?

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

вы хотите по итогу плоский массив айтемов или ту же структуру сохранить я запутался с примером данных до / после было бы значительно проще

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
вы хотите по итогу плоский массив айтемов или ту ж...

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

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
Спасибо что помогаете, По итогу массив практическ...

так, мб, и employees тоже в массив пихнуть, раз они вам нужны будут или как?

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
так, мб, и employees тоже в массив пихнуть, раз он...

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

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
можно по идее, сейчас главное убрать чертовы дубли...

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

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
можно в два прохода через reduce собрать в Map по ...

function getUniqueListBy(arr, key) { return [...new Map(arr.map(item => [item[key], item])).values()] } Типа так ?

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
function getUniqueListBy(arr, key) { return [....

но прям так не надо, потому что ещё раз ходить придётся

мне стало скучно 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()) }); });

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
мне стало скучно visits.map(({ items, ...rest }) ...

Вам тоже большое спасбио💜

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
Вам тоже большое спасбио💜

ток не факт, что оно работает, я ничё не проверял, как обычно

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
Вам тоже большое спасбио💜

и складывание employee в массив, кстати, одна строчка добавляется

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
ток не факт, что оно работает, я ничё не проверял,...

Да, оно не работает) Вот сейчас сижу разбираюсь

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
Да, оно не работает) Вот сейчас сижу разбираюсь

если кинете массивчик ваш, то подправлю ток не сообщением, а на пестбин куда-нить

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
https://pastebin.com/WeJg3LyZ

В итоге как я понимаю должно получиться: https://pastebin.com/9JijEntY

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
Окей, если возникнут проблемы скину

у меня там esle, а не else хд вообще говоря, я думал, вы хотите в этот item всё запихать, а у вас всё в одном visit я, крч, запутался насчёт того, что вы хотите

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
i7 4n
у меня там esle, а не else хд вообще говоря, я дум...

Ага, там esle тоже угарнул) Сам запутался, щя подумаю

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта