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