2011-07-02 127 views
1

我對tumblr api有點棘手的問題。我目前正在從我的所有帖子中獲取每個標籤並將其存儲在一個數組中。然而,這意味着如果一個數組被多次使用,它就會增加一倍。我想只能存儲一次標籤,並且存儲多少次。有任何想法嗎?我在想一個對象數組可以工作,但我正在努力解決這個標記是否已經放入數組以及如何更新「count」值。使用tumblr api json feed獲取標籤和標籤數量[jquery]

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/

回答

0

你可以做這樣的事情:

obj[tag] = count; 

,當你獲得新的標籤使用沿着

if(obj[newtag]){ 
    obj[newtag] += 1; 
}else{ 
    obj[newtag] = 1; 
} 
東西線