Deep Merge Objects in JavaScript with Spread, Lodash, and Deepmerge

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å 😅

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.