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.