我一直在努力尝试找到一个如何过滤简单数组的特定列索引的示例。没有使用我自己的代码使其复杂化,我试图简单地修改在此处找到的AngularJS站点上找到的代码 https://docs.angularjs.org/api/ng/filter/filter如何知道数组[0]将始终是名称,我将如何仅过滤名称列。
我正在试图弄清楚如何写作:
Filter only on Name <input ng-model="search.name"><br>
Filter only on Phone <input ng-model="search.phone"><br>
<table id="searchObjResults">
<tr><th>Name</th><th>Phone</th></tr>
<tr ng-repeat="friendObj in friends | filter:search:strict">
<td>{{friendObj.name}}</td>
<td>{{friendObj.phone}}</td>
</tr>
</table>
假设:
<div ng-init="friends = [['John', '555-1276'],
['Mary', '800-BIG-MARY'],
['Mike', '555-4321'],
['Adam', '555-5678'],
['Julie', '555-8765'],
['Juliette', '555-5678']]">
</div>
答案 0 :(得分:1)
您可以使用过滤功能,例如:
$scope.filterFn = function(val) {
return !$scope.search || (val[0].toLowerCase().indexOf($scope.search.toLowerCase()) > -1);
}
或者将您的数组转换为集合:
arr.map(function(p){
return {name: p[0], phone: p[1]}
});
过滤方式与原始示例相同。