Javascript AngularJS groupby或过滤服务内部而不是HTML模板中的对象列表?
如何对对象列表进行排序:Javascript AngularJS groupby或过滤服务内部而不是HTML模板中的对象列表?,javascript,angularjs,Javascript,Angularjs,如何对对象列表进行排序: [ {a: 3, b: "H", c: "A"} {a: 4, b: "G", c: "B"}} {a: 1, b: "F", c: "E"}} {a: 2, b: "E", c: "E"}} {a: 6, b: "D", c: "D"}} {a: 5, b: "A", c: "D"}} ] 在angularjs中使用Javascript?我知道HTML中有一些指令可以帮助对其进行排序,但是有没有办法在服务和/或控制器中调用$filter或类似的函数来对我的对象进行排
[
{a: 3, b: "H", c: "A"}
{a: 4, b: "G", c: "B"}}
{a: 1, b: "F", c: "E"}}
{a: 2, b: "E", c: "E"}}
{a: 6, b: "D", c: "D"}}
{a: 5, b: "A", c: "D"}}
]
在angularjs中使用Javascript?我知道HTML中有一些指令可以帮助对其进行排序,但是有没有办法在服务和/或控制器中调用$filter或类似的函数来对我的对象进行排序?假设我想按关键字排序。。。或
按键a排序,并在键c与键D相等的位置进行筛选。
按c分组,a中的聚合计数
或者一切都必须通过html模板指令进行吗?您可以在控制器中使用服务:
app.controller('MainCtrl', function($scope, $filter) {
$scope.source = [{
a: 3,
b: "H",
c: "A"
}, {
a: 4,
b: "G",
c: "B"
}, {
a: 1,
b: "F",
c: "E"
}, {
a: 2,
b: "E",
c: "E"
}, {
a: 6,
b: "D",
c: "D"
}, {
a: 5,
b: "A",
c: "D"
}];
$scope.filtered = $filter('filter')($scope.source, 'D', 'c');
});
本例使用AngularJS中的'filter'过滤器查找c属性中具有'D'值的对象。
这是一个有效的例子:
此文档页面提供了更多详细信息:这里的主要答案很简单;是的,您可以在服务/控制器中执行此操作,但如果您询问如何执行此操作,那么这将是另一个问题,您应该展示您尝试过的内容