我有一组数据,我从数据库中以JSON的形式返回。我需要过滤这些结果并获取我要回复的每个销售代表的名称。诀窍是每个销售代表不止一次在我的结果中,但在我的最终列表中,我只希望将名称包含一次。
像Sarah,Ben,Ben,John,Mike,Luke,John
将回归莎拉,本,约翰,迈克,卢克
$http({
url: '/Clients/Orders/Json',
method: "GET",
params: {}
}).success(function (data) {
var JSON = data;
$scope.data = JSON;
});
我的数据位于$ scope.data中。
我正在寻找有关构建过滤器以运行此数据的想法,以及如何在我的视图页面上访问过滤后的信息。
答案 0 :(得分:0)
过滤 -
app.filter('distinct', function() {
return function(arrayInput) {
var distinctArray = [];
for (var i = 0; i < arrayInput.length; i++) {
if( distinctArray.indexOf(arrayInput[i]) < 0 ){
distinctArray.push(arrayInput[i]);
}
}
return distinctArray;
};
});
然后在控制器或服务中注入过滤器distinctFilter
,以过滤出数组$scope.data
中的不同名称
app.controller('MyCtrl', function($scope, distinctFilter) {
...
// populate $scope.data with array of names
$scope.distinctNames = distinctFilter($scope.data);
});