Javascript AngularJs:如何在过滤时避免使用大写字母

Javascript AngularJs:如何在过滤时避免使用大写字母,javascript,angularjs,angularjs-filter,Javascript,Angularjs,Angularjs Filter,情况: 由于特殊情况,我不得不制作自己的过滤器,而不是使用普通的角度过滤器: 我有一个嵌套对象在四个级别上:程序-天-大厅-演示。 每个大厅都有一个手风琴,里面有相关的演示文稿 无论如何,我做的过滤器工作正常 除了一件事:现在过滤器是字母大小写 因此,如果表示名称为“Automation”,而用户类型为“Automation”,则不会显示在结果中 代码: 现在正在查找用户在演示文稿名称中输入的字符串的简单索引: angular.forEach(value_halls.presentations,

情况:

由于特殊情况,我不得不制作自己的过滤器,而不是使用普通的角度过滤器:

我有一个嵌套对象在四个级别上:程序-天-大厅-演示。 每个大厅都有一个手风琴,里面有相关的演示文稿

无论如何,我做的过滤器工作正常

除了一件事:现在过滤器是字母大小写

因此,如果表示名称为“Automation”,而用户类型为“Automation”,则不会显示在结果中

代码:

现在正在查找用户在演示文稿名称中输入的字符串的简单索引:

angular.forEach(value_halls.presentations, function(presentation_info, key_presentation) 
{
    var name    = presentation.name;
    var index   = name.indexOf($rootScope.filter.name);

    if (index > -1 ) 
    {           
        $rootScope.program_list_filtered.push(presentation_info);
    }

}); 
问题:

你知道过滤时如何避免字母大小写吗


谢谢大家!

您可以在两个字符串上使用
toLowerCase


var index=name.toLowerCase().indexOf($rootScope.filter.name.toLowerCase())

您可以在两个字符串上使用
toLowerCase


var index=name.toLowerCase().indexOf($rootScope.filter.name.toLowerCase())

实现这一点的一种方法是使用将两个字符串都转换为大写,如下所示:

var name    = presentation.name.toUpperCase();
var index   = name.indexOf($rootScope.filter.name.toUpperCase());
另一种方法是使用正则表达式

var name    = presentation.name;
var index = name.match(new RegExp($rootScope.filter.name, "i"));

实现这一点的一种方法是使用将两个字符串都转换为大写,如下所示:

var name    = presentation.name.toUpperCase();
var index   = name.indexOf($rootScope.filter.name.toUpperCase());
另一种方法是使用正则表达式

var name    = presentation.name;
var index = name.match(new RegExp($rootScope.filter.name, "i"));