我有一个格式为
的对象数组(~650)[1: {firstName: "Hello",
lastName: "World",
shortName: "h.world",
...some other items
},
2: {firstName: "John",
lastName: "Doe",
shortName: "j.doe",
...some other items
}]
我需要根据文本输入过滤列表,该文本输入应搜索firstName+ " "+lastName
。因此,搜索He
或Hello W
将返回Hello World
,搜索Hellow
将不会返回(案例无关紧要)。过滤阵列的最佳方法是什么?我见过Angulars过滤方法,但我还没有弄清楚如何做到这一点。
编辑我拥有的东西
<div ng-controller="NotesCtrl">
<p>Search for a user to see there sessions and notes</p>
<input type="text" id="user" ng-model="search.firstName" />
{literal}
<ul>
<li ng-repeat="u in users | filter:search">{{u.activeDirectoryName}}</li>
</ul>
{/literal}
</div>
从我读过的内容应该可行,但列表不会过滤。我是否需要在控制器中执行任何操作才能使其正常工作?
答案:即使在PHP中,我的数据是一个数组,在Javascript中它是一个对象,它改变了一点,所以它作为一个数组出现,它现在似乎正在工作。
答案 0 :(得分:1)
在您的情况下,search
应该是控制器中的一个函数,它接收数组中的每个项目并返回true
或false
,具体取决于它是否通过了过滤器。