Firebase javascript Admin SDK:加载数组的长度不正确

时间:2018-10-07 06:41:52

标签: javascript firebase firebase-admin

我的Firebase实时数据库中有以下数据。

enter image description here

我从javascript admin SDK(nodejs)加载此数据。

firebaseAdmin.database().ref('db/path').on('value', snapshot => {
    let data = snapshot.val();
});

以上数据作为数组加载,并且数组长度不正确。以下是加载数据的可视化。

enter image description here

可以看出,即使数据库中只有4个项目,数组长度也显示为5。数组第零个索引中的元素为null。

这是什么原因?

1 个答案:

答案 0 :(得分:0)

JavaScript数组的长度始终为1 +数组中的最大索引。在您的情况下,为1 + 4 =5。空元素计入大小。在那里的绝大多数编程语言都是如此。

如果要避免混淆,请考虑在数据库中将数组索引从0开始。绝大多数编程语言还假定数组像这样零索引。