-1

I don't know the best way to problem solved.( Filter, ng-repeat or any method?)

<div>Number of active elements: {{product.length}} </div> //number of all elements
<div>Number of inactive elements: {{product.length}} </div> //number of all elements

Array example:

$scope.product=[
      {
       "name":"apple",
       "id":1,
       "active":false
      }, 
      {
        "name":"orange",
        "id":2,
        "active":true
      },
      ....
    ]

How to get the number of active products and number of inactive products? Which is the best and simple way? Thank you!

georgeawg
  • 48,608
  • 13
  • 72
  • 95
Laszlooo
  • 62
  • 6
  • 2
    `product.filter(p=>p.active).length` and `product.filter(p=>!p.active).length` should do it – Will Jenkins Jan 03 '20 at 11:03
  • Does this answer your question? [How to display length of filtered ng-repeat data](https://stackoverflow.com/questions/15316363/how-to-display-length-of-filtered-ng-repeat-data) – Basel Issmail Jan 03 '20 at 11:08

1 Answers1

2

Just use angularjs filter and then count.

<div>Number of active elements: {{(product | filter:{active:true}).length}} </div> //number of all elements
<div>Number of inactive elements: {{(product | filter:{active:false}).length}} </div> //number of all elements

In case you are filtering strings and want to apply a strict search, then use below.

<div>Number of active elements: {{(product | filter:{active:true}:true).length}} </div> //number of all elements
<div>Number of inactive elements: {{(product | filter:{active:false}:true).length}} </div> //number of all elements
Mayank Patel
  • 1,563
  • 1
  • 14
  • 19