const hashMap = {name: FaName}
а инклуд как впихнуть?
потому что с бека приходит playstation5, plastation4, playstation-vita, а мне важно иметь иконку под платформу только, не под каждое устройство конкретное
понимаю. спасибо
и так хорошо, главное чтобы читалось
Может быть так (но вхождение 2-х одновременно не допускается. будет ошибка): const mapIcon = (name: string) => { name = name.toLowerCase(); let x: any; x = name.includes("xbox") && FaXbox; x = name.includes("playstation") && FaPlaystation; return x; }
const mapIcon = (name) => { const nameLower = name.toLowerCase(); const icons = { xbox: FaXbox, playstation: FaPlayStation, pc: FaWindows, macos: FaApple, linux: FaLinux, android: FaAndroid }; for (const key in icons) { if (nameLower.includes(key)) { return icons[key]; } } };
const getIcon = (name: string) => icons[name.toLowerCase()] || null; А icons словарём сделать как в примере выше
А если вторым аргументом передавать словарь получится более универсальный инструмент
Обсуждают сегодня