Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-使用筛选器和groupBy后的计数结果_Javascript_Angularjs_Angular Filters - Fatal编程技术网

Javascript AngularJS-使用筛选器和groupBy后的计数结果

Javascript AngularJS-使用筛选器和groupBy后的计数结果,javascript,angularjs,angular-filters,Javascript,Angularjs,Angular Filters,我用的是带角的 筛选和分组正在工作。但我还想检查过滤列表是否为空,类似于以下问题: 在下面的示例中,我使用player In filteredPlayers=(players | filter:search)通过filteredPlayers.length 如何对示例中的分组列表执行类似操作 代码: var-app=angular.module('myApp',['angular.filter']); app.controller('myCtrl',['$scope',函数($scope){

我用的是带角的

筛选和分组正在工作。但我还想检查过滤列表是否为空,类似于以下问题:

在下面的示例中,我使用
player In filteredPlayers=(players | filter:search)
通过
filteredPlayers.length

如何对示例中的分组列表执行类似操作

代码:

var-app=angular.module('myApp',['angular.filter']);
app.controller('myCtrl',['$scope',函数($scope){
$scope.players=[
{name:'Gene',team:'alpha'},
{名称:'George',团队:'beta'},
{姓名:'Steve',团队:'gamma'},
{姓名:'Paula',团队:'beta'},
{name:'Scruath',team:'gamma'}
];
}]);


此列表为空。(这是有效的)。
  • 玩家:{{player.name}

列表是空的。(这不起作用-始终显示)。
    组名:{{key}
  • 玩家:{{player.name}

您可以执行类似的操作:

<ul ng-repeat="(key, value) in (filteredPlayers = (players | filter:search) | groupBy: 'team')">
    ..
</ul>

<h1>Length: {{ filteredPlayers.length }}</h1>
    ..
长度:{{filteredPlayers.Length}
您可以执行类似的操作:

<ul ng-repeat="(key, value) in (filteredPlayers = (players | filter:search) | groupBy: 'team')">
    ..
</ul>

<h1>Length: {{ filteredPlayers.length }}</h1>
    ..
长度:{{filteredPlayers.Length}
值.长度
?或者你的意思是对所有筛选的玩家?我想要整个集合的项目数,而不是每个组的项目数。然后你可以做同样的事情吗?:
(键,值)在filteredPlayers=(玩家|筛选:搜索)| groupBy:'team'
那么filteredPlayers似乎是一个具有'alpha'和'beta'属性的对象,没有什么我可以直接检查的长度。但是谢谢-也许我可以计算对象的属性来确定是否有分组。如果有一种更干净/更简单的方法来计算结果,我宁愿这样。也许在分组之前分配一个变量?是的。我做了一点杂耍,效果很好:
(键,值)在(filteredPlayers=(players | filter:search)| groupBy:'team')
value.length
?或者你的意思是对所有筛选的玩家?我想要整个集合的项目数,而不是每个组的项目数。然后你可以做同样的事情吗?:
(键,值)在filteredPlayers=(玩家|筛选:搜索)| groupBy:'team'
那么filteredPlayers似乎是一个具有'alpha'和'beta'属性的对象,没有什么我可以直接检查的长度。但是谢谢-也许我可以计算对象的属性来确定是否有分组。如果有一种更干净/更简单的方法来计算结果,我宁愿这样。也许在分组之前分配一个变量?是的。我做了一点杂耍,效果很好:
(键,值)在(filteredPlayers=(players | filter:search)| groupBy:'team')