Hi Chris,desculpe, seu direito eu não me expliquei bem, deixe-me ser um pouco mais preciso – Por exemplo: ao receber dados de um endpoint da API como um objeto JSON com arrays aninhados.por exemplo, endpoint de condições climáticas atuais, então neste caso, para analisar apenas as propriedades relevantes do objeto de dados (ou seja, não o objeto inteiro, digamos apenas o campo de temperatura neste caso).
para ilustração, eu farei o meu melhor para zombar disso (não me julgue muito, ainda estou verde atrás das orelhas 🤓)
"Data":
então dada essa resposta, o que eu faria para resolver isso seria, para criar uma função que verifica:
- se os dados são um array ou objeto.
- então alimente os dados para a função parser a fim de analisar apenas campos de propriedade de dados relevantes.
por exemplo algo como isto:
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", });
>
agora à minha primeira pergunta de há pouco, sinto que deve haver uma maneira melhor de executar isto e depois codificar duramente os valores que estou interessado em analisar?
a agradecer-lhe pela sua paciência até agora… Espero não ter sido muito difícil de entender 😅