j查询筛选结果

jQuery filter result

本文关键字:结果 筛选 查询      更新时间:2023-09-26

我需要你的帮助。我通过ajax从Tumblr获取哈希标签数据,并循环访问它们以输出它们。在我输出标签之前,我想做一些过滤,在输出中,如果我有 4 个相同的哈希标签,我只需要输出一次。

下面是一个没有过滤的示例。

js小提琴

$.ajax({
    url: "http://api.tumblr.com/v2/blog/testhermes.tumblr.com/posts",
    dataType: 'jsonp',
    data: {
        api_key : "d01TZzpbq12cD7Zv7dM4EwLndkAAIEsExnLl9PNvsHYuyuDwKq"
    },
    success: function(results){
        var posts = results.response.posts;
        var text ='';
        for (var i in posts)
        {
            p = posts[i];
            a = p.tags;

            for(var j in a) {
                c = a[j];
                text += '<a href="'+c+'">'+ c +'</a><br>';
                $("body").append(text);
            }
        }
    }
});

谢谢

您只需要在数组中保存值,并在每次插入项目时检查它是否存在于数组中。

$.ajax({
url: "http://api.tumblr.com/v2/blog/testhermes.tumblr.com/posts",
dataType: 'jsonp',
data: {
    api_key : "d01TZzpbq12cD7Zv7dM4EwLndkAAIEsExnLl9PNvsHYuyuDwKq"
},
success: function(results){
    var posts = results.response.posts;
    var text ='';
    var arr = [];
    for (var i in posts)
    {
        p = posts[i];
        a = p.tags;

        for(var j in a) {
            c = $.trim(a[j]);
            if(jQuery.inArray(c, arr) == -1)
            {
                arr.push(c);
                var text = '<a href="'+c+'">'+ c +'</a><br>';
                $("body").append(text);
            }

        }
    }
}

});

这是JS小提琴链接。

只需跟踪您在对象中看到的标签,然后仅在您以前没有看到标签时才输出链接。

var seen_tags = {};
for (var i in posts)
{
    p = posts[i];
    a = p.tags;
    for(var j in a) {
        c = a[j];
        if(!(c in seen_tags)) {
            text += '<a href="'+c+'">'+ c +'</a><br>';
             $("body").append(text);
             seen_tags[c] = true;
        }
    }
}