📅  最后修改于: 2023-12-03 15:09:02.436000             🧑  作者: Mango
在 AngularJS 中,可以使用内置的 filter
过滤器来查找数组中的元素。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = [
{name:'John',country:'Norway'},
{name:'Peter',country:'Sweden'},
{name:'Lucy',country:'Denmark'},
{name:'Mark',country:'Denmark'}
];
});
假设我们有一个名为 names
的数组,其中包含多个叫做 Mark
的人。我们可以使用以下方式查询数组:
app.filter('getByName', function() {
return function(names, name) {
var i, len;
for (i = 0, len = names.length; i < len; i++) {
if (names[i].name === name) {
return names[i];
}
}
return null;
};
});
<div ng-controller="myCtrl">
<ul>
<li ng-repeat="name in names | filter:getByName('Mark')">
{{name.name}} ({{name.country}})
</li>
</ul>
</div>
getByName
过滤器将接受两个参数:第一个是要过滤的数组,第二个是要查找的名称。它将返回一个匹配到的对象,或者返回 null
。
在 AngularJS 中,通过使用内置的过滤器,我们可以轻松地查找数组中的元素。以上是一个简短的示例,通过使用这些技巧,开发者可以构建更加高效和功能齐全的应用程序。