我的Firebase实时数据库中有以下数据。
我从javascript admin SDK(nodejs)加载此数据。
firebaseAdmin.database().ref('db/path').on('value', snapshot => {
let data = snapshot.val();
});
以上数据作为数组加载,并且数组长度不正确。以下是加载数据的可视化。
可以看出,即使数据库中只有4个项目,数组长度也显示为5。数组第零个索引中的元素为null。
这是什么原因?
答案 0 :(得分:0)
JavaScript数组的长度始终为1 +数组中的最大索引。在您的情况下,为1 + 4 =5。空元素计入大小。在那里的绝大多数编程语言都是如此。
如果要避免混淆,请考虑在数据库中将数组索引从0开始。绝大多数编程语言还假定数组像这样零索引。