Hallo, ich frage Amazon API und hin und wieder ein Element hat kein Bild. Ich versuche, dies zu erklären, aber ich bekomme immer noch die Fehlermeldung: Typeerror: kann Eigenschaft ‚0‘ undefinierterDie Verwendung von typeof in JavaScript verursacht immer noch einen Fehler für undefiniertes Objekt
if (typeof result.ItemSearchResponse.Items[0].Item[i].SmallImage[0].URL[0] !== undefined) {
//items['image'][i] = result.ItemSearchResponse.Items[0].Item[i].LargeImage[0].URL[0];
console.log(result.ItemSearchResponse.Items[0].Item[i].SmallImage[0].URL[0]);
}
Wenn ich die if-Anweisung Kommentar aus dem Fehler verschwindet - gibt es eine bessere Art und Weise zu verwenden, typeof - was würde bedeuten, dass die Objekteigenschaft überhaupt nicht existiert? Oder kann jemand Ratschläge geben, wie er zu lösen ist?
Dank
Das bedeutet 'results.ItemSearchResponse.Items',' results.ItemSearchResponse.Items [0] .Item', 'results.ItemSearchResponse.Items [0] .Item [i] .SmallImage' oder' results.ItemSearchResponse.Items [0] .Item [i] .SmallImage [0] .URL' sind "undefiniert". Grundsätzlich kann alles, auf das Sie bei einem Index zugreifen, "undefiniert" sein. Überprüfen Sie sie unabhängig voneinander. –
Sie müssen jede Ebene des Objekts überprüfen, 'typeof' behandelt keine Referenzfehler innerhalb der RHS,' typeof foo; // undefined' aber 'typeof foo.bar; // error' –
versuchen, jedes Array zu protokollieren, um das zu erhalten, das nicht definiert ist console.log (results.ItemSearchResponse.Items [0] .Item) console.log (results.ItemSearchResponse.Items [0] .Item [i ] .SmallImage) Konsole.log (results.ItemSearchResponse.Items [0] .Item [i] .SmallImage [0] .UR L) –