我试图从Firebase获取数据并将其存储到数组中。 但是,当我尝试从数组中获取数据时,它变得未定义。 谁能告诉我为什么会发生?将Firebase数据存储到JavaScript中的阵列中
var events = [];
var databaseRef = database.ref("events").orderByChild("date");
databaseRef.on('child_added', function(snapshot) {
var event = snapshot.val();
events.push({
title: event.title,
content: event.content
});
});
console.log(events);
console.log(events[0]);
console.log(events.pop());
在#1中,所有数据都作为对象存储在数组中。 但在#2 & 3,它返回undefined
加:#1返回:
[]
0 : Object
content : "Rehoncus. Aliquam nibh antegestas id dictum a, commodo. Praesenterto faucibus malesuada faucibu"
title : "Tivamus at magna non nunc"
1 : Object
content : "Rehoncus. Aliquam nibh antegestas id dictum a, commodo. Praesenterto faucibus malesuada faucibu"
title : "Vivamus at magna non nunc"
之所以阵列似乎写入控制台事件的内容是因为当一个数组中的开发者工具控制台展开,显示当前数组内容。请注意,'[]' - 一个空阵列 - 在展开之前就是控制台中显示的内容。 – cartant