我对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);
}
});
}
答案 0 :(得分:0)
你可以这样做:
obj[tag] = count;
当您获得新标签时,请使用
中的内容if( obj[newtag] ){
obj[newtag] += 1;
}else{
obj[newtag] = 1;
}