我得到了一系列遍历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
namedItemUndefined的第一行我理解,但其余的我不知道为什么要表示它。我在网上找过了,什么也找不到。如果有人能给我指出正确的方向,那就太好了。
谢谢。
发布于 2018-09-24 03:10:02
您正在迭代一个数组,并打印出该数组的索引。您应该这样做:
var webString = webString + "<br>" + titleArray[prop].innerHTML;
尝试在for循环之前对titleArray执行console.log,以了解您正在循环的元素。
发布于 2018-09-24 03:23:03
因为您使用的是for key-in-obj循环。浏览这些文档和
for key-in-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;
}https://stackoverflow.com/questions/52469321
复制相似问题