Ошибка не удается прочитать длину undefined для массива, полученного с помощью firebase

#javascript #html #css #firebase #firebase-realtime-database

#javascript #HTML #css #firebase #firebase-realtime-database

Вопрос:

Я хочу перебрать массив комментариев, чтобы я мог отображать каждый элемент в массиве на веб-странице, которая была отправлена в firebase. Но когда я перебираю массив, я получаю ошибку — Uncaught TypeError: не удается прочитать свойство ‘length’ undefined .

 const dbRef = firebase.database().ref();
const usersRef = dbRef.child('users').orderByChild("post_likes");
readPostData(); 
function readPostData() {

    const postListUI = document.getElementById("post-list");
    usersRef.on("value", snap => {
        postListUI.innerHTML = ""
        snap.forEach(childSnap => {
            let key = childSnap.key,
                value = childSnap.val()
                
            let $li = document.createElement("li");
            // edit icon
            let editIconUI = document.createElement("span");
            editIconUI.class = "edit-post";
            editIconUI.innerHTML = " ✎";

            // delete icon
            let deleteIconUI = document.createElement("span");
            deleteIconUI.class = "delete-post";
            deleteIconUI.innerHTML = " ☓";

            let commentIconUI = document.createElement("span");
            commentIconUI.class = "edit-post";
            commentIconUI.innerHTML = "  ";

            let likeIconUI = document.createElement("span");
            likeIconUI.class = "like-post";
            likeIconUI.innerHTML = `amp;#128420;`;
            getPostAnswersArray = value.post_answers;
            console.log(getPostAnswersArray)
            
            for(i=0; i<=getPostAnswersArray.length-1; i  ){
                console.log(getPostAnswersArray[i])
            }
                $li.innerHTML = `
            <p id="post_title">${value.post_title}
            <span id="post_date"><small>on ${value.post_date}</small></span>
            <span id="post_author">
            <small class="post_author">${value.post_author}</small>
            </span>
            </p>
            <hr>
            <p id="post_content">${value.post_content}</p>
            <hr>
            <p id="comments">Comments<span id="num_likes"><small>${value.post_likes} likes</small></span></p>
            <div id="showAns"><small>${getPostAnswersArray}<small></div>

            `;
            var author = value.post_author;
            var current_author = firebase.auth().currentUser.email;
            $li.append(likeIconUI);
            $li.append(commentIconUI);
            $li.append(editIconUI);
            $li.append(deleteIconUI);
            postListUI.prepend($li);
        });
    })
}

 

Ошибка возникает, когда я пытаюсь console.log(getPostAnswersArray[i]) . Каким может быть возможное решение этой проблемы?

Комментарии:

1. getPostAnswersArray где вы его инициализировали?

2. На самом деле он не определен… Где вы это определили?

3. Извините, я действительно удалил эту строку при публикации вопроса по ошибке.