Hej Chris, undskyld, du har ret, jeg forklarede mig ikke rigtigt, lad mig være lidt mere præcis -For eksempel: Når du modtager data fra et API endpoint som et JSON-objekt med indlejrede arrays.f.eks. vejret aktuelle betingelser endpoint, så i dette tilfælde, for at parse kun de relevante egenskaber af dataobjektet (dvs. ikke hele objektet, lad os sige kun temperaturfeltet i dette tilfælde).
til illustration vil jeg gøre mit bedste for at spotte dette ud (døm mig ikke for hårdt, im stadig grøn bag ørerne 🤓)
"Data":
så givet dette svar, hvad jeg ville gøre for at løse dette ville være, at oprette en funktion, der kontrollerer:
- hvis dataene er et array eller objekt.
- derefter fodre dataene til parserfunktionen for kun at parse relevante dataegenskabsfelter.
for eksempel noget som dette:
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", });
nu tilbage til mit første spørgsmål fra tidligere, jeg føler, at der må være en bedre måde at udføre dette på end hård kodning af de værdier, jeg er interesseret i parsing?
tak for din tålmodighed indtil videre … Jeg håber ikke jeg var for svært at forstå 😅