我在一个例子中有这几行代码。教程解释了过滤功能匹配并返回匹配的国家/地区记录。哪里&如何设置entry.name。
myApp.controller('detailcontroller', function($scope, $routeParams, $http) {
$scope.name=$routeParams.countryname;
$http.get('countries.json').success(function(data) {
var country =data.filter(function(entry) {
return entry.name === $scope.name;
}) [0];
console.log(country);
});
});
答案 0 :(得分:0)
它没有"设置"。您为过滤器函数指定了一个迭代器(回调)函数。
文档说:Function to test each element of the array. Return true to keep the element, false otherwise.
基本上,entry
代表数组的一个元素。对于数组中的每个元素,将使用元素作为参数调用您的函数(如果您有一个国家/地区,则条目将是第一个国家/地区,然后是第二个国家/地区等)。
也许这对你来说更容易理解:
var testIfCountryMatches = function(country){
console.log("is "+country+" France ? : "+(country.name === "France"));
return country.name === "France";
}
var matchingCountries = data.filter(testIfCountryMatches);
var fr = matchingCountries[0];