2017-04-20 4 views
0

Ich fühle mich wünschend, in diesem stundenlang zu weinen.kann nicht lesen Eigenschaft von undefined obwohl mit der Überprüfung

Warum würde dieser Code einen Fehler von cannot read property overwrite_date' of undefined zurückgeben?!

for (var i = 0; i < temp.length; i++) { 

    console.log(data[i]) //return 3 item, no null or undefined value at all 

    if(data[i]){ 

    let date = moment(data[i].overwrite_date).format('YYYY-MM-DD'); 
    } 
} 
+0

Könnten Sie zeigen uns Ihre 'data'? – gyre

+0

'temp' und' data' haben wahrscheinlich unterschiedliche Längen. –

Antwort

2

Du Iterieren temp statt data. diese

Wechsel:

for (var i = 0; i < temp.length; i++) { 

Um dies:

for (var i = 0; i < data.length; i++) { 
        ▲ 
+0

Es ist nichts falsch daran, ich möchte Temp zu iterieren und splice von Temp mit Daten zu tun. –

+0

@GialaJefferson: Nun, etwas stimmt nicht, sonst würdest du den Fehler nicht bekommen. Der Fehler scheint darauf hinzuweisen, dass "temp" und "data" unterschiedliche Längen haben oder dass "data" keine numerischen Eigenschaften hat. Da Ihr Beispiel unvollständig ist, können wir nicht viel mehr tun, als zu raten. –

Verwandte Themen