2016-08-09 17 views
0

Ich bin eine Schleife durch ein Array versucht und es sagt immer length ist 0Javascript Schleife durch Array von Objekten

Screenshot von Array:

screenshot

Ich habe versucht for(key in results)... und for(var i = 0; i < length... Aber beide laufen nichts in der Schleife: console.log(results[i]); // Or key if it's a key in loop

Ich bin mir sicher, es ist ein Rookie Mista ke, kann jemand es erkennen?

Der Code Ich verwende:

var store = new Lawnchair({name: 'testing'}, function (store) { 

     // Create an object 
     var me = {key: 'Jordy', age: 19, date_of_birth: "1233-09-06"}; 
     var mee = {key: 'dude', age: 17, date_of_birth: "2222-09-06"}; 
     var meee = {key: 'gast', age: 8, date_of_birth: "5555-09-06"}; 

     // Save it 
     store.save(me); 
     store.save(mee); 
     store.save(meee); 

//   Access it later... Yes even after a page refresh! 
     store.where('record.age < 20', function (records) { 
      var html = ""; 
      var list = document.getElementById('people'); 
//   for (var i = 0; i < records.length; i++) { 
//    var record = records[i]; 
//    html += "<li>" + record.key + " is " + record.age + " years old and was born on " + record.date_of_birth + "</li>"; 
//   } 

      for(var key in records){ 
       console.log("SD"); 
      } 

      console.log(records); 
      list.innerHTML = html; 

     }); 
    }); 

Wenn ich console.log(records) wie über dem Ergebnis gesehen der Screenshot ist. Wenn ich eine Schleife über es passiert nichts, weil records.length === 0

Edit:

store.where('record.age < 20', function(records){ 
     console.log(records); // Array with property length 3 
     console.log(records.length); // 0 
    }); 

Die erste console.log das Array mit records.length === 3 zeigt aber die zweite console.log zeigt 0. Wie?

+2

Sieht aus wie dies ein Problem mit Asynchronität sein könnte. Woher bekommst du das Array? –

+0

yeah wo bekommst du 'Länge' von ... es scheint wie eine beliebige Variable. 'for ... loop' sollte ausreichen, könnten Sie auch Code zeigen, weil wir nichts sehen –

+1

Ihr Problem ist nicht mit Schleife. Ihr Array ist leer, wenn Sie es erreichen möchten. Zeige uns mehr Code. – Doruk

Antwort

1

Ohne Angabe von Code ist es schwierig zu sagen, ob Sie einen Anfängerfehler gemacht haben! Ich sehe, dass Sie Länge anstelle von arrayName.length verwenden? Ich weiß nicht, den Namen des Array ...

for (var i = 0; i < array.length;i++){ 
    //logic here 
    }; 
+0

Funktioniert nicht, Länge = 0 – g3mini

+0

Können Sie Ihren Beitrag mit Code bearbeiten, dass Sie @ g3mini versuchen? –

+0

Ich habe das getan: D – g3mini

Verwandte Themen