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

Hej Chris, förlåt, du har rätt, jag förklarade mig inte riktigt, låt mig vara lite mer exakt -För exempel: när du tar emot data från en API-slutpunkt i form av ett JSON-objekt med inbäddade matriser.till exempel, väder och aktuella förhållanden endpoint, så i det här fallet, för att analysera endast de relevanta egenskaperna i dataobjektet (dvs. inte hela objektet, låt oss säga bara temperaturfältet i det här fallet).

För att illustrera ska jag göra mitt bästa för att simulera detta (döm mig inte för hårt, jag är fortfarande grön bakom öronen 🤓)

"Data": 

Så, med tanke på detta svar, skulle det jag skulle göra för att lösa detta vara att skapa en funktion som kontrollerar:

  • Om data är en array eller ett objekt.
  • och sedan mata data till parser-funktionen för att endast analysera relevanta dataegenskapsfält.

till exempel något som liknar detta:

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 tillbaka till min första fråga från tidigare, det känns som om det måste finnas ett bättre sätt att utföra detta på än att hårdkoda värdena jag är intresserad av att analysera?

Tack för ert tålamod så här långt … Jag hoppas att jag inte var för svår att förstå 😅

.

Lämna ett svar

Din e-postadress kommer inte publiceras.