Получение чисел при переборе XML-объекта HTML? - PullRequest
0 голосов
/ 23 сентября 2018

Я получаю последовательность чисел, повторяющихся в объекте javascript, и пытаюсь понять, почему.

Вот мой код:

var x = new XMLHttpRequest();
x.open("GET", "https://rsshub.app/instagram/user/jasminealkouri/", true);
x.onreadystatechange = function () {
    if (x.readyState == 4 && x.status == 200)
    {
        var doc = x.responseXML;
        var titleArray = doc.getElementsByTagName("channel")[0].getElementsByTagName("title");

        for (var prop in titleArray) {
            var webString = webString + "<br>" + prop;
        }


        document.getElementById("mainP").innerHTML = webString;
    }
};
x.send(null);

Вывод, который я получаю:

undefined
0
1
2
3
4
5
6
7
8
9
10
11
12
length
item
namedItem

Первая строка Undefined Я понимаю, но остальное я понятия не имею, почему это представляется.Я посмотрел онлайн и ничего не могу найти.Если бы кто-то мог указать мне правильное направление, это было бы здорово.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

Как вы используете for key-in-obj цикл.Просмотрите эти документы for-in и for-of

for key-in-obj дает индекс obj не значение.

    for (var prop in titleArray) { // prop here is index not value at index
        var webString = webString + "<br>" + prop;
    }

Заменить на:

for (var prop of titleArray) {
    var webString = webString + "<br>" + prop;
}
0 голосов
/ 23 сентября 2018

Вы перебираете массив и распечатываете индекс этого массива.Вы должны сделать что-то вроде

var webString = webString + "<br>" + titleArray[prop].innerHTML;

Попробуйте сделать файл console.log на titleArray перед циклом for, чтобы понять элемент, на котором вы зацикливаетесь.

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