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

Hi Chris,sorry, your right I didn’t explain myself right, let me be a little more precise -Na przykład: kiedy otrzymujemy dane z punktu końcowego API jako obiekt JSON z zagnieżdżonymi tablicami.Na przykład, endpoint weather current conditions, więc w tym przypadku, aby parsować tylko istotne właściwości obiektu danych (tj. nie cały obiekt, powiedzmy tylko pole temperatury w tym przypadku).

dla ilustracji, zrobię co w mojej mocy, aby to wyśmiać (nie oceniaj mnie zbyt mocno, im wciąż zielony za uszami 🤓)

"Data": 

więc biorąc pod uwagę tę odpowiedź, co bym zrobił, aby rozwiązać to byłoby, aby stworzyć funkcję, która sprawdza:

  • czy dane są tablicą czy obiektem.
  • następnie podaj dane do funkcji parsera, aby parsować tylko odpowiednie pola właściwości danych.

na przykład coś takiego:

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", });

powracając do mojego pierwszego pytania z wcześniej, czuję, że musi być lepszy sposób na wykonanie tego, a następnie twarde kodowanie wartości, które jestem zainteresowany parsowaniem?

dziękuję za cierpliwość do tej pory…. Mam nadzieję, że nie byłem zbyt trudny do zrozumienia 😅

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.