【问题标题】:angularjs filter array of objects with object in valueangularjs过滤具有对象值的对象数组
【发布时间】:2016-02-14 01:35:57
【问题描述】:

如果我有这样的简单对象:

$scope.results = {
  year:2021,
  subjects:[
    {title:'English',grade:'A'},
    {title:'Maths',grade:'A'},
    {title:'Science',grade:'B'},
    {title:'Geography',grade:'C'}
  ]
};

使用过滤器获取价值没有问题,就像这里

 $scope.gradeC = $filter('filter')($scope.results.subjects, {grade: 'C'})[0];

或者算一算:

 $scope.gradeA = $filter('filter')($scope.results.subjects, {grade: 'A'}).length;

但是,如果我有这样的事情:

$scope.results = {
  year:2021,
  subjects:[
    {title:'English',grade:''},
    {title:'Maths',grade:''},
    {title:'Science',grade:''},
    {title:'Geography',grade:'{
                 _someDate : 'Nov 19, 2024'
             }'}
  ]
};

我如何计算我有多少空字符串的等级值以及有多少作为值的对象?

【问题讨论】:

    标签: angularjs javascript-framework


    【解决方案1】:

    过滤器在视图中很有用。但在 JS 代码中,您拥有标准 JS 函数的所有功能:

    var countWithEmptyGrade = $scope.results.subjects.filter(function(subject) {
        return subject.grade === '';
    }).length;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-27
      • 2019-03-12
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      相关资源
      最近更新 更多