i have an array of objects which has properties with boolean and some properties with integer values. For eg
const arr = [{
_id: "621bb15de2ecadf024da51d3",
draw: false,
pixel: false,
tooltip: 1,
points: 1,
},
{
_id: "621bb15de2ecadf024da51d8",
draw: false,
pixel: true,
tooltip: 0,
points: 1,
},
{
_id: "621bb15de2ecadf024da51da",
draw: false,
pixel: true,
tooltip: 1,
points: 1,
},
{
_id: "621bb15de2ecadf024da51e5",
draw: false,
pixel: true,
tooltip: 0,
points: 1,
},
{
_id: "621bb15de2ecadf024da51f8",
draw: false,
pixel: true,
tooltip: 1,
points: 1,
},
{
_id: "621bb15ee2ecadf024da5222",
draw: false,
pixel: true,
tooltip: 0,
points: 1,
},
{
_id: "621bb15ee2ecadf024da5230",
draw: false,
pixel: true,
tooltip: 1,
points: 1,
},
{
_id: "621bb15fe2ecadf024da52f3",
draw: false,
pixel: false,
tooltip: 1,
points: 1,
},
{
_id: "621bb160e2ecadf024da5375",
draw: false,
pixel: true,
tooltip: 0,
points: 1,
}
]
I am trying to achieve sum of tooltip and points, also count of draw and pixel where they are true.
const res = arr.reduce(function (
acc,
curr
) {
return {
tooltip: acc.tooltip + curr.tooltip,
points:
acc.points +
curr.points,
};
});
I am getting output as below which is correct for sum,
{
points: 9,
tooltip: 5
}
but i also want count of draw and pixel where its value true.
Expected Result:
{
points: 9,
tooltip: 5,
pixel: 7,
draw: 0
}