how to sum of the all the stationuserAmount values in the given array
"staions": [
{
"name": "Guwahati",
"stationuser": [
{
"name": "Suranjan Dey",
"stationuserAmount": 190
}
]
},
{
"name": "Bhubaneshwar",
"stationuser": [
{
"name": "Soubhagya Behera",
"stationuserAmount": 280
},
{
"name": "Om Prakash Sahoo",
"stationuserAmount": 280
}
]
}
]
I was tried with map and reduce on array values to find the total sum of the given array.
1) const salesuserTotalCount = this.state.staions.map(items => ({
users: items.stationuser.reduce((a, b) => {return
a.stationuserAmount b.stationuserAmount}
)}))
2) const salesuserTotalCount = this.state.staions.map(items => ({
...items,
users: items.stationuser.map(stationitems
=>stationitems.stationuserAmount).reduce((a, c)
=> { return a c })}))
CodePudding user response:
You can do reduce inside reduce
const stations = [
{
"name": "Guwahati",
"stationuser": [
{
"name": "Suranjan Dey",
"stationuserAmount": 190
}
]
},
{
"name": "Bhubaneshwar",
"stationuser": [
{
"name": "Soubhagya Behera",
"stationuserAmount": 280
},
{
"name": "Om Prakash Sahoo",
"stationuserAmount": 280
}
]
}
]
console.log(stations.reduce((acc, curr)=>{
return acc curr.stationuser.reduce((a,c)=>a c.stationuserAmount,0)
},0));
CodePudding user response:
You can do it quite easily with a nested map.
const data = { "stations": [
{
"name": "Guwahati",
"stationuser": [
{
"name": "Suranjan Dey",
"stationuserAmount": 190
}
]
},
{
"name": "Bhubaneshwar",
"stationuser": [
{
"name": "Soubhagya Behera",
"stationuserAmount": 280
},
{
"name": "Om Prakash Sahoo",
"stationuserAmount": 280
}
]
}
]
}
let sum = 0
data.stations.map(station => {
station.stationuser.map(user => sum = user.stationuserAmount)
})
console.log(sum)