Ahoj Chrisi,promiň, máš pravdu, nevysvětlil jsem to správně, upřesním to -Například: při příjmu dat z koncového bodu API jako objektu JSON s vnořenými poli.Například endpoint aktuálních podmínek počasí, tak v tomto případě, aby bylo možné analyzovat pouze relevantní vlastnosti datového objektu (tj. ne celý objekt, řekněme v tomto případě pouze pole teplota).
pro ilustraci se to pokusím zesměšnit (moc mě nesuďte, jsem ještě zelený až za ušima 🤓)
"Data":
takže vzhledem k této odpovědi bych to vyřešil tak, že bych vytvořil funkci, která by kontrolovala:
- zda jsou data pole nebo objekt.
- poté data předat funkci parseru, aby analyzovala pouze relevantní pole vlastností dat.
například něco takového:
const isArrayOrObject = (jsonData) => { let result = jsonData; if (Array.isArray(result.data)) { return result.data.map((result) => currentConditionsReducer(result)); } else { return currentConditionsReducer(result.data); }}; export const currentConditionsReducer = (result, language) => { return { currentDate: dateFromString(result.DateString, language), weatherPhrase: result.WeatherText, icon: iconUrlResolver(result.WeatherIcon), temperature: result.Temperature.Imperial.Value,};};const dateFromString = (value, language) => { return new Date(value).toLocaleDateString(language, { day: "2-digit", month: "2-digit", year: "numeric", });
teď zpět k mé první otázce z dřívějška, mám pocit, že musí existovat lepší způsob, jak to provést, než natvrdo kódovat hodnoty, které mám zájem analyzovat?
děkuji za dosavadní trpělivost… Doufám, že jsem nebyl příliš složitý na pochopení 😅
.