Firebase javascript Admin SDK: длина загруженного массива неверна - PullRequest
0 голосов
/ 07 октября 2018

В моей базе данных реального времени 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

Видно, что длина массива отображается как 5, даже если вБД.Элемент в нулевом индексе массива является нулевым.

В чем причина этого?

1 Ответ

0 голосов
/ 07 октября 2018

Длина массива JavaScript всегда равна 1 + максимальный индекс в массиве.В вашем случае это 1 + 4 = 5. Пустые элементы учитываются в размере.Это справедливо для подавляющего большинства языков программирования.

Если вы хотите избежать путаницы, рассмотрите возможность запуска индекса массива в вашей базе данных с 0.Подавляющее большинство языков программирования также предполагают, что массивы индексируются нулями, как это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...