Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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或过滤服务内部而不是HTML模板中的对象列表?_Javascript_Angularjs - Fatal编程技术网

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'值的对象。 这是一个有效的例子:


此文档页面提供了更多详细信息:

这里的主要答案很简单;是的,您可以在服务/控制器中执行此操作,但如果您询问如何执行此操作,那么这将是另一个问题,您应该展示您尝试过的内容