javascript - Angular 过滤器 - 返回第二个数组中每个对象的对象?

标签 javascript angularjs filter

我很接近,但需要你的帮助。我正在尝试制作循环遍历 2 个数组的过滤器,一个是文章列表,另一个是标签列表。

我想要发生的是,如果我有 3 个标签,“nyc”、“health-care”和“tech”,我想要包含所有三个标签的文章。我当前的代码返回包含这 3 个标签中任意一个的所有文章。

.filter('selectedTags', function() {
    return function(articles, tags) {
        return articles.filter(function(article) {
            for (var i in article.article.tags) {
                for (var t in tags) {
                    if (tags[t].text === article.article.tags[i].text) {
                         return true;
                    }
                }
            }
            return false;
        });
    };
})

最佳答案

这应该有效..

.filter('selectedTags', function() {
return function(articles, tags) {
    return articles.filter(function(article) {
        var count = 0;
        for (var i in article.article.tags) {
            for (var t in tags) {
                if (tags[t].text === article.article.tags[i].text) {
                     count++;
                     if (count === tags.length){
                     return true;
                     }
                }
            }
        }
        return false;
    });
};
})

关于javascript - Angular 过滤器 - 返回第二个数组中每个对象的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020047/

相关文章:

php - 如何比较 AngularJS 表单数据和 MySQL 数据库 (PHP) 中的值?

javascript - Angularjs导航到从工厂/服务的路线

jquery - 如何在不是类或 id 的属性上使用 jQuery filter()

javascript - 如何使用光标样式 :ns-resize

javascript - ng-hide ng-show 需要澄清

rbind tbl 和 df 给出过滤器错误

javascript - 如何将多个过滤器组合在一起以使用 jQuery 过滤任务行?

javascript - 将文本转换为 css

javascript - 如果 `toString` 返回非原始值, “ignored” 是什么意思?

javascript - if javascript 中 .datepicker 属性的条件