У меня есть массив игроков, каждый игрок - это объект, который имеет несколько свойств, один - «цели».Получение элементов из массива на основе значений свойств (AngularJS)
var players = [
{
"id":"4634",
"name":"A. Turan",
"number":"0",
"age":"28",
"position":"M",
"goals":"1"
},
{
"id":"155410",
"name":"H. Çalhano?lu",
"number":"0",
"age":"21",
"position":"A",
"goals":"0"
},
{
"id":"4788",
"name":"B. Y?lmaz",
"number":"0",
"age":"30",
"position":"A",
"goals":"2",
}
]
Я написал функцию, чтобы перебрать массив и нажмите каждый элемент, который имеет более чем цели «0» массив, topScorers
. Как так:
$scope.topScorerSearch = function() {
var topScorers = [];
$scope.teamDetails.squad.forEach(function(o) {
if (o.goals > 0) {
topScorers.push(o)
}
});
return topScorers;
}
С помощью функции называется {{topScorerSearch()}}
.
Это возвращает только игроков, которые забили. Отлично.
Однако, я хочу запустить это на другие свойства, что приведет к много повторяющегося кода. Как я могу сделать эту функцию общего назначения, которая может быть выполнена для разных свойств?
Я попытался в том числе параметра «подпирать», но он не работает:
$scope.topScorerSearch = function(prop) {
var topScorers = [];
$scope.teamDetails.squad.forEach(function(o) {
if (o.prop > 0) {
topScorers.push(o)
}
});
return topScorers;
}
... и называется функцией, как это:
{{topScorerSearch(goals)}}
Почему это не работает ? Где я иду не так?
Вы должны принять ответ, который решает проблему, чтобы другие могли заглянуть и увидеть, что она разрешена (также @Sidriel получает свои очки). – shaunhusain
Я собирался ... Это было всего 3 минуты назад, дайте мне секунду :) – Paulos3000
Терпение не мое дело;) – shaunhusain