【发布时间】:2017-06-29 10:56:14
【问题描述】:
所以我进行了几次 ajax 调用,我最终想要构建一个包含我需要的相关值的对象数组。不幸的是,我遇到了一些奇怪的事情。我的第一个 ajax 调用返回一个充满我正在寻找的对象的数组,但是当我在数组上调用长度时,我得到零。以下是相关代码(代码中的“关注”是用户拥有的关注数组):
function followingsJSON(followings) {
var followingObject = [];
for (var i in followings) {
var query = "https://wind-bow.glitch.me/twitch-api/users/" +
followings[i];
$.ajax({
url: query,
type: "GET",
datatype: "json"
}) .done(function(json){
if (json.display_name) {
followingObject.push({
'display_name' : json.display_name,
'logo' : json.logo,
'_id' : json._id
});
} else {
followingObject.push({
'display_name' : null
});
}
})
};
console.log(followingObject);
console.log(followingObject.length);
}
使用 chrom 开发工具,我可以从控制台日志中看到 followingObject 是:
[]
0: Object
1: Object
2: Object
3: Object
4: Object
5: Object
6: Object
7: Object
8: Object
length: 9
__proto__: Array(0)
所以数组有我想要的对象,并且数组从 Array 派生它的原型方法,所以 length 应该适用于它。但是 console.log(followingObject) 给了我 0。
有人知道为什么吗?
【问题讨论】:
-
@Jonasw——现在什么都没有。 ;-)
标签: javascript arrays ajax object