使用tumblr api json feed获取标签和标签计数[jquery]

时间:2011-07-02 11:58:23

标签: jquery arrays json api tumblr

我对tumblr api有点棘手的问题。我目前从我的所有帖子中获取每个标签并将其存储在一个数组中。但是,这意味着如果一个阵列被多次使用,它就会翻倍。我希望能够只存储一次标签,并存储它出现的次数。有任何想法吗?我在想一个对象数组可以工作,但是如果标签已经放入数组并且如何更新“count”值,我正在努力解决问题。

var allTags = [];
var start = 0;
var cleanTags = [];

$(function() {


tumblrTag = function(tag,count) {
    this.Tag = tag;
    this.Count = count;        
}

getTags()

});

function getTags() {

    var tumblrApi = 'http://blog.rainbird.me/api/read/json?callback=?&num=50&start=' + start;

      $.getJSON(tumblrApi, function (data) {

        $(data.posts).each(function (i, post) {
          $(post.tags).each(function (i, tag) {

            if (typeof (tag) === 'string') {

            newTag = new tumblrTag(tag, "1");

            allTags.push(newTag);


            }

          });
        });
        if (start + 50 < data['posts-total']) {
          start = start + 50;
          getTags();
        } else {
         console.log("complete");
         console.log(allTags);
        }
      });

}

http://jsfiddle.net/k2UML/

1 个答案:

答案 0 :(得分:0)

你可以这样做:

obj[tag] = count;

当您获得新标签时,请使用

中的内容
if( obj[newtag] ){
  obj[newtag] += 1;
}else{
  obj[newtag] = 1;
}