-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
_ak_
addikt
Előre is elnézést az auto-correctes felig ékezetes, felig magyar, felig angol kommentert.
Mivel magamtol nem jöttem ra ezért osszelegoztam a megoldást, ti ezt értitek? Úgy érzem, hogy feleslegesen toltam túl a dolgot:
const onlySelectable = allOptions
?.filter((e: { etype: string }) => e === 'SELECTABLE')
.map(({ eorder, eid }) => ({ eorder, eid }));
const filterAndAddOrderNum = (
selectionHistory: { eid: string, selectedOption: string }[],
onlySelectable: { eorder: number; eid: string }[]
) => {
const map = new Map();
const filteredSelectionHistory = selectionHistory?.selections?.filter(({ eid: id1 }) =>
onlySelectable.some(({ eid: id2 }) => id1 === id2)
);
filteredSelectionHistory.forEach((item) => map.set(item.eid, item));
onlySelectable.forEach((item) =>
map.set(item.eid, { ...map.get(item.eid), ...item })
);
return Array.from(map.values());
};
Lényegében van egy forrás JSON ami mindig a friss adatokat tartalmazza, az eorder változhat es nekem az alapján kell sorrendben megjelentetni az adatokat, illetve van egy history JSON ahol eddig csak az id es a user opciója volt elmentve. A feladat, hogy miután megkaptam a forrást es a history-t szinkronizáljam azokat. Tehát a redux state-ben a history-bol kinyert eid-hoz csatoljam eorder-t, igy a frissen megjelenített adatok es a history-bol jövő adatok is szinkronban lennének, mert időközben a sorrend es a tartalom is változhat. Az esetleg (user által) ujra elküldött adatoknak is tukrozniuk kell a forrásban történt változást.Nem feltétlen 1 liner megoldást keresek sõt, de egy másod véleménynek örülnék, hogy lehet-e ezt egyszerűbben is.
Új hozzászólás Aktív témák
- HIBÁTLAN iPhone 14 Plus 128GB Yellow -1 ÉV GARANCIA - Kártyafüggetlen, MS4472
- AKCIÓ! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 16GB DDR4 1TB SSD RTX A2000 4GB W
- Beszámítás! Logitech G920 Driving Force Racing kormány garanciával hibátlan működéssel
- LG 55C5 - 55" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen8 CPU
- Limitált darabszám! Apple Mac Studio M2 Ultra 24 magos CPU, 60 magos GPU, 64GB RAM, 1024GB SSD
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

