我在一个例子中有这几行代码。教程解释了筛选函数匹配并返回匹配的国家/地区记录。其中&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);
});
});
它不是"设置的"。您可以为筛选函数指定一个迭代器(回调)函数。
文件上说: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];