Tengo el código a continuación y estoy tratando de consolar. Registrar la información del mensaje de cada matriz. El problema es que hay una "carga útil" indefinida. ¿Qué puedo hacer para ignorar los valores indefinidos y seguir iterando a través de las matrices?
const repositoriesActivities = await getUserActivities(userName) for (let i = 0; i < repositoriesActivities.length; i++) { let activities = repositoriesActivities[i].payload.commits[i].message; if (activities !== undefined){ console.log(activities) } }Puedes usar ? operando a comprobar. Ejemplo:
const repositoriesActivities = await getUserActivities(userName) for (let i = 0; i < repositoriesActivities.length; i++) { let activities = repositoriesActivities[i]?.payload?.commits[i]?.message; if (activities){ console.log(activities) } }Marque esto para obtener más información sobre el encadenamiento opcional https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
esto significa que el objeto "confirma" está vacío. Puedes intentar:
const repositoriesActivities = await getUserActivities(userName) for (let i = 0; i < repositoriesActivities.length; i++) { let activities = null if(repositoriesActivities[i] && repositoriesActivities[i].payload && typeof repositoriesActivities[i].payload.commits === "object" && repositoriesActivities[i].payload.commits.length >= (i+1) && repositoriesActivities[i].payload.commits[i].message){ activities = repositoriesActivities[i].payload.commits[i].message } if (activities !== null){ console.log(activities) } }