mi código de trabajo anterior dejó de leer uno de los campos internos en mi respuesta JSON, diciendo que hay un error de tipo a pesar de que el campo existe.
Aquí está la respuesta que estoy leyendo:
organic_results: [{title: "Montessori Wooden Educational Object Permanence Box With Tray For Toddlers Kid",…},…] 0: {title: "Montessori Wooden Educational Object Permanence Box With Tray For Toddlers Kid",…} condition: "Brand new" extensions: ["Buy It Now", "Almost gone", "85 sold"] price: {raw: "AU $23.85", extracted: 23.85} extracted: 23.85 raw: "AU $23.85" shipping: "Postage not specified" subtitle: "Unbranded" thumbnail: "https://i.ebayimg.com/thumbs/images/g/1eMAAOSw5Jdf9SA9/s-l225.jpg" title: "Montessori Wooden Educational Object Permanence Box With Tray For Toddlers Kid"Si paso el cursor sobre los campos, veo la ruta organic_results[0].price.extracted
En mi código, recorro los resultados y los sumo todos, luego los divido para obtener el precio de venta promedio.
const { organic_results } = await response.json(); //find total price by adding all prices from the found records const averagePrice = () => { let total = 0; let average = 0; for (let index = 0; index < organic_results.length; index++) { let priceMinusPostage = organic_results[index].price.extracted - 9; //Guestimate of average postage total = total+priceMinusPostage; } average = (total/organic_results.length).toFixed(2); return average; }Cuando ejecuto mi código obtengo un TypeError:
TypeError: Cannot read properties of undefined (reading 'extracted')¿Cuál es la tontería de que no estoy viendo el cajero automático?
Hazlo de esta manera, debería funcionar si lo tienes en respuesta.
organic_results[index]?.price?.extracted