我想调整我的角度文本搜索,以便它不是字序敏感的。
我必须搜索一个大的json对象但是
基本上如果文件中有{"name":"John Doe"}
,我希望searchText
'Doe John'返回正数。
有什么建议?感谢
<input type="text" ng-model="searchText">
<ul>
<li ng-repeat="item in items | filter:searchText">
{{ item }}
</li>
</ul>
编辑:
我得到了它的工作谢谢! http://jsfiddle.net/Lp02huqm/
答案 0 :(得分:3)
我实际上为某些东西创建了一个类似的过滤器。
app.filter("searchText", function () {
return function (items, filterBy) {
var filterBy = filterBy.split(/\s+/);
if (!filterBy.length) {
return items;
}
return items.filter(function (item) {
return filterBy.every(function (word) {
return ~item.indexOf(word);
});
});
};
});
请注意,我使用every
,因此您需要&#34; Doe John&#34;对于&#34; John Doe。&#34;如果你想要&#34; Doe&#34;或&#34;约翰&#34;要匹配,您可以使用.some
。