【问题标题】:push objects into array from graph api json with for loop in for loop(facebook javascript sdk/open graph)使用for循环中的for循环将对象从图形api json推入数组(facebook javascript sdk/open graph)
【发布时间】:2014-02-12 15:34:10
【问题描述】:

我想获取所有喜欢帖子的 ID。所以我开始循环遍历 JSON 对象,效果很好。但是如何将不同的帖子点赞分开并将它们推送到数组中呢?

这是我的代码:

var posts = data.posts.data.length; // how much posts (4)    
var likedIDs = [];    

for (var i = 0; i < posts; i++) {

var likes = data.posts.data[i].likes.data.length; //how much likes the post got

    for(var j = 0; j < likes; j++){
        likedIDs.push(data.posts.data[i].likes.data[j].id); //push liked IDs into array
    }

}

我现在的结果是:

["100002767544234", "100002240698218", "100002186226181", "661093262", "100002965256572", "100000484302816", "1328033466", "100002965256572", "100000433187588", "100001859514071", "510954562300442", "1534181150", "100000433187588", "1534181150", "100000470102176", "231605130289758", "1328033466", "661093262", "100002186226181", "100002240698218", "1007746467", "100000433187588", "1216261931", "661093262", "1313025972", "100002240698218", "1534181150", "661093262", "100000328468050", "100001350606484", "100002767544234", "100000306728917", "1534181150", "100000328468050", "1216261931", "661093262", "100002240698218", "100000502074422", "100002559952817", "100000328468050", "100000484302816", "1802439459", "100002240698218", "1328033466"]

现在每个喜欢特定帖子的 ID 都在数组中,但我需要将它们通过帖子索引或在这样的对象中分隔:

[["1313025972", "100002240698218", "1534181150"],["1313025972", "100002240698218", "1534181150"],["1313025972", "100002240698218"],["1313025972"]]

我需要他们检查登录的 fb 用户是否已经喜欢该帖子。

有什么想法吗?提前谢谢,对不起我的英语不好

【问题讨论】:

    标签: javascript arrays json facebook-opengraph javascript-objects


    【解决方案1】:

    我想你想要这个:

    [["1313025972", "100002240698218", "1534181150"],["1313025972", "100002240698218", "1534181150"],["1313025972", "100002240698218"],["1313025972"]]
    

    代替:

    [{"1313025972", "100002240698218", "1534181150"},{"1313025972", "100002240698218", "1534181150"},{"1313025972", "100002240698218"},{"1313025972"}]
    

    因为这不是一个有效的 javascript 对象。

    因此,如果是这种情况,请这样做以获得您想要的:

    for (var i = 0; i < posts; i++) {
    
        var likes = data.posts.data[i].likes.data.length;
        var plikes = [];
        for (var j = 0; j < likes; j++) {
            plikes.push(data.posts.data[i].likes.data[j].id);
        }
        likedIDs.push(plikes);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 2015-10-24
      • 2017-08-09
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多