首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJs的自定义搜索筛选器

AngularJs的自定义搜索筛选器
EN

Stack Overflow用户
提问于 2014-06-25 11:24:26
回答 1查看 7K关注 0票数 1

假设我有一系列字符串,比如“不要担心”、“担心”、“永远快乐,不要担心”

当我搜索担心,使用默认的搜索过滤器ng-重复,它给我所有的三个结果,无论担心在字符串中的位置被搜索。

我试图为ng-重复做一个自定义的搜索过滤器,这样在搜索忧虑时,我应该根据原始字符串中“担心”的位置来排序结果。

因此,在上面的数组中搜索单词“担心”时,我的预期输出将是“担心”、“不要担心”、“永远快乐,不要担心”。

这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-25 11:49:52

你能试试这个吗?

代码语言:javascript
复制
app.filter('wordsFilter', function() {
   return function(items, word) {
    var filtered = [];

    angular.forEach(items, function(item) {
        if(item.indexOf(word) !== -1){
            filtered.push(item);
        }
    });

    filtered.sort(function(a,b){
        if(a.indexOf(word) < b.indexOf(word)) return -1;
        else if(a.indexOf(word) > b.indexOf(word)) return 1;
        else return 0;
    });

    return filtered;
  };
});

希望能帮上忙!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24407352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档