gpt4 book ai didi

javascript - 如何将 Facebook Graph API 响应存储为 Javascript 数组?

转载 作者:行者123 更新时间:2023-12-02 14:40:49 25 4
gpt4 key购买 nike

我想知道如何将 Facebook API 调用的响应存储到 Javascript 数组中。

这是我正在调用的电话:

FB.api('/MYAPPID/scores/?fields=user', function(response) {

for (var i = 0; i < response.data.length; i++){
var grabbedarray = response.data[i].user.id;
console.log(grabbedarray);
}

})

调用 FB.api('/MYAPPID/scores/?fields=user' 返回一个数据集,该数据集具有数组中每个元素的“name”和“id”属性,但我我只对存储数组的“id”部分感兴趣。

上面的代码循环访问调用的响应,它检查数组每一行中的 user.id,然后 console.log 显示该行的 ID。这意味着 vargrabbedarray 在控制台中出现了多次,每次都显示不同的 id。我明白为什么会发生这种情况,但我试图将所有 id 存储到一个数组中,然后我想通过 console.log 进行记录。

所以控制台中的最终结果应该是这样的:

[456345624, 256456345, 253456435727, 376573835, 2652453245] 

我尝试更改对 FB.api('/MYAPPID/scores/?fields=user.id') 的调用,希望响应仅显示 ID 列表,但是它不起作用。

有谁知道如何解决这个问题吗?先感谢您!

最佳答案

为了保持您所使用的方法,您可以将找到的每个新 ID 推送到您在 for 循环外部定义的数组中。

var idArray = [];    
FB.api('/MYAPPID/scores/?fields=user', function(response) {
for (var i = 0; i < response.data.length; i++){
idArray.push(response.data[i].user.id);
}
console.log(idArray);
})

您还可以使用 map 将响应数组转换为您想要的内容。

var idArray = [];
FB.api('/MYAPPID/scores/?fields=user', function(response) {
idArray = response.data.map(function(x){ return x.user.id });
console.log(idArray);
})

关于javascript - 如何将 Facebook Graph API 响应存储为 Javascript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37033167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com