当前位置: 首页 > 面试题库 >

AngularJS过滤多个字符串

缑赤岩
2023-03-14
问题内容

我正在研究AngularJS教程,并了解的基础知识

但是,开箱即用的实现似乎仅限于将项目列表过滤为输入的确切单词或短语。

示例:如果查询是“ table cloth”,则结果列表可以包含带有短语“ Decorative table
cloth”的结果,但由于过滤器只是一个连续的搜索字符串,因此将不包括“ Table fortable装饰布”。

我知道可以添加自定义过滤器,但乍一看似乎主要是转换。

有什么方法可以添加自定义过滤器,以便“装饰用桌布”和“装饰用桌布”都显示在过滤结果集中?


问题答案:

请看 下面的surfbuds答案,因为它比较好

只需滚动自己的过滤器即可:

.filter("myFilter", function(){
    return function(input, searchText){
        var returnArray = [];
        var searchTextSplit = searchText.toLowerCase().split(' ');
        for(var x = 0; x < input.length; x++){
            var count = 0;
            for(var y = 0; y < searchTextSplit.length; y++){
                if(input[x].toLowerCase().indexOf(searchTextSplit[y]) !== -1){
                    count++;
                }
            }
            if(count == searchTextSplit.length){
                 returnArray.push(input[x]);   
            }
        }
        return returnArray;
    }
});

jsfiddlehttp :
//jsfiddle.net/Cq3PF/

此过滤器确保找到所有搜索词。



 类似资料:
  • 问题内容: 第一次在这里发布问题,如果违反任何Stack Overflow礼节,请提前道歉!:-) 我第一次去一些AngularJS,以便为我的老板创建概念证明。这是一个基本的租车列表应用程序,主列中有结果列表,侧面有一个过滤器面板。我设法从JSON对象中提取结果,并应用一个基本的过滤器,如下所示; 筛选器 …我还无法解决的一件事是如何添加一组复选框以应用过滤器,例如“汽车类型”,其中包含“迷你”

  • 主要内容:AngularJS 过滤器,表达式中添加过滤器,AngularJS 实例,AngularJS 实例,currency 过滤器,AngularJS 实例,向指令添加过滤器,AngularJS 实例,过滤输入,AngularJS 实例,自定义过滤器,AngularJS 实例过滤器可以使用一个管道字符(|)添加到表达式和指令中。 AngularJS 过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式。 filter 从数组项中选择一个子集

  • 问题内容: 我想使用in角度,并希望过滤多个值,如果它具有值之一,则应该显示它。 我有这样的结构: 具有属性的对象,我要过滤和。 我知道我可以做,但是如果我想动态过滤它该怎么办。例如 如何设置的,当我有我有过滤器类型的数组? 我可以将其构造为字符串,然后执行一个操作,但我不想使用eval()… 问题答案: 我只是创建一个自定义过滤器。他们并不难。 模板: *链接 *编辑 在这里:创建角度过滤器 更

  • 问题内容: 我有这样的课 我在我的参考 我的是根据Firebase查询的类生成的字典数组。然后,我得到了从另一个视图控制器(该函数是集合视图)生成的字符串。我想获取该字符串,然后使用与我之前的字符串相等的字符串过滤或搜索数组。然后删除不等于。不仅对象,而且包含非等键,值对的整个数组。我已经找了几天了,但我坚持过滤从类创建的字典数组。我已经看过并尝试过NSPredicates,for- in循环,但

  • 问题内容: 我正在尝试使用多个过滤器+自定义过滤器功能过滤列表。 最初工作的jsfiddle示例是http://jsfiddle.net/ed9A2/1/,但现在我想更改年龄过滤的方式。 我想添加一个自定义过滤器,以使其 年龄 基于两个输入值 min_age 和 max_age (在年龄之间)进行过滤。 在研究文档之后。我发现有人有类似的问题,用户Mark Rajcok回答了http://docs

  • 问题内容: 我正在尝试编写一个angularjs自定义过滤器,以检查国家/地区数组是否包含用户输入的搜索字符串。 该字符串可以包含一个字母(例如“ E”)或n个字母的片段(例如“ lan”)或整个单词(例如“ England”)。 在每种情况下,都应返回包含该字母或该片段的所有国家,因此“ E”将返回“ England”,“爱沙尼亚”等,而“ lan”将返回“ England”,“ Ireland