find sum of Boolean values JavaScript object array find sum of Boolean values JavaScript object array typescript typescript

find sum of Boolean values JavaScript object array


var result = myObj.reduce((sum, next) => sum && next.status, true);

This should return true, if every value is true.


If you want to sum lets say, day items value depending on the status flag, this can looks like:

var result = myObj.reduce((res, item) => item.status ? res + item.day : res, 0);

Update 1

For overall status in case of all statuses are true you should use every method:

var result = myObj.every(item => item.status);


You could use Array.some with predicate a => !a.status or Array.every with predicate a => a.status.

Either of them will short-circuit if you find a mismatch, while Array.reduce will not.