我通過陣列試圖環和它口口聲聲說length
的陣列是0
的Javascript遍歷對象
截圖數組:
我試過for(key in results)...
和for(var i = 0; i < length...
但都不在循環內運行任何東西:console.log(results[i]); // Or key if it's a key in loop
我敢肯定這是一個菜鳥mista柯,任何人都可以發現它嗎?
我正在使用的代碼:
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;
});
});
當我console.log(records)
所看到的結果是上面的屏幕截圖。當在它沒有我循環發生,因爲records.length === 0
編輯:
store.where('record.age < 20', function(records){
console.log(records); // Array with property length 3
console.log(records.length); // 0
});
第一console.log
顯示了records.length === 3
的數組,但第二console.log
顯示0
。怎麼樣?
看起來像這可能是一個異步問題。你從哪裏得到數組? –
是啊,你從哪裏得到'長度'......看起來像一個任意變量。 'for ... loop'應該足夠了,但是你可以顯示一些代碼,因爲我們看不到任何東西 –
你的問題不是循環。當你想要達到它時,你的數組是空的。向我們展示更多代碼。 – Doruk