roshambo:
Un poco de una pregunta de novato y al final del día, pero ¿cómo accedo a una matriz en un objeto? Me estoy haciendo undefined
y TypeError: Cannot read property 'length' of undefined
. Puedo conseguir los datos del objeto (Id, ElemId, etc) bien.
...
this.state = {
yfinder: [],
...
}
...then api call...
this.setState({
finder: res.Finder,
...
})
JSON:
"Finder": {
"Id": "23216245567u4",
"ElemId": "finder",
"Title": "Your Finder",
"Description": "This is a description",
"ResultsTitle": "What program or service are you looking for?",
"CategoryTitle": "Great! Select a category to continue..",
"Results": [
{
...
}
{
...
}
]
}
let finder = this.state.finder;
console.log(finder.Results);
for (var i = 0; i < finder.Results.length; i++) {
console.log(finder.Results[i]);
}
Singh nosotros:
Eso es porque inicialmente el objeto del buscador no tiene resultados de la matriz. Probar esto y ver si esto funciona.
let finder = this.state.finder;
console.log(finder.Results);
const resultsLength = finder.Results ? finder.Results.length : null;
for (var i = 0; i < resultsLength; i++) {
console.log(finder.Results[i]);
}