如何将Facebook Graph API响应存储为Javascript数组
How to store a Facebook Graph API response as a Javascript Array?
我想知道如何将来自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"answers"id"属性的数据集,但我只对存储数组的"id"部分感兴趣。
上面的代码遍历调用的响应,它检查数组的每一行中的user.id
,然后console.log显示该行的id。这意味着var grabbedarray
在控制台中出现多次,每次都显示不同的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);
})
相关文章:
- 如何使用Doctrine在MongoDB中存储Javascript代码
- 有人知道如何在本地存储javascript函数所做的css更改吗
- .txt文件和.json文件同样适合存储javascript对象
- 是否可以存储javascript函数调用并在设置某些变量时执行它
- 如何在外部存储javascript变量(没有服务器)的值
- 如何在PHP会话中存储javascript数组
- 本地存储 javascript 变量到 php
- 如何在rails/devise中存储Javascript/AJAX变量
- 我可以在mySQL数据库中存储JavaScript对象吗?
- 用于存储 Javascript 应用程序的持久本地数据的轻量级解决方案
- 在元素上使用css属性content来异常存储javascript的信息
- 如何正确存储javascript模板,使其不会;t实例化了多次
- windows8存储javascript应用程序,从web下载和保存图像
- 获取sencha touch中本地存储javascript文件的属性
- 浏览器是读取/存储Javascript文件中的所有内容,还是仅读取/存储它们需要的内容
- 可以使用数据属性来存储Javascript'状态'
- 离线webapp -存储JavaScript对象
- 从本地存储javascript的对象数组中删除一个对象
- 如何在jsp字符串中存储javascript变量值
- 数组存储javascript