Using lodash, what would be a good way to count the number of objects in a collection conditionally? Say I wanted to count the number of objects where
a < 4
in the following collection
[{a : 1}, {a : 2}, {a : 3}, {a : 4}, {a : 5}, {a : 6}]
You can use countBy
:
const total = _.countBy( array, ({ a }) => a < 4 ? 'lessThanFour' : 'greaterThanFour' ).lessThanFour
Using sumBy
:
const total = _.sumBy( array, ({ a }) => Number(a < 4) );
And here's the same but with lodash/fp
:
const count = _.sumBy(_.flow(_.get('a'), _.lt(4), Number), objects);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With