我正在尝试编写一个angularjs自定义过滤器,以检查一个国家数组是否包含用户输入的搜索字符串。
字符串可以由一个字母组成。‘e’,或n个字母的片段(例如'lan')或整个单词(例如:“英国”)。
在任何情况下,所有包含这一字母或片段的国家都应归还,因此E将返回“England”、“爱沙尼亚”等,而“lan”则返回“England”、“爱尔兰”等。
到目前为止,我的过滤器返回整个国家或单个字母,但我在处理字符串片段时遇到了困难:
发布于 2013-10-16 14:08:28
使用String.indexOf()函数比这简单得多:
angular.forEach(items, function(item) {
if( item.label.indexOf(searchText) >= 0 ) filtered.push(item);
});您可能需要将两个字符串.toLowerCase()转换为不区分大小写的匹配:
searchText = searchText.toLowerCase();
angular.forEach(items, function(item) {
if( item.label.toLowerCase().indexOf(searchText) >= 0 ) filtered.push(item);
});https://stackoverflow.com/questions/19405346
复制相似问题