代码之家  ›  专栏  ›  技术社区  ›  Lahiru Chandima

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

  •  0
  • Lahiru Chandima  · 技术社区  · 6 年前

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

    enter image description here

    我从javascript管理SDK(nodejs)加载这些数据。

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

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

    enter image description here

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

    原因是什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Doug Stevenson    6 年前

    JavaScript数组的长度总是1+数组中的最大索引。你的情况是1+4=5。空元素按大小计算。对于绝大多数编程语言来说都是这样。

    如果希望避免混淆,请考虑在0处启动数据库中的数组索引。绝大多数编程语言也假设数组是零索引的。