How to get count values from nested array of objects in react

Viewed 36

I want add add some properties to array of objects after getting count.

const data = [ 
{ id:4, name:'sam',stats:[{id:1, partnerId:4, applicatiions:4, drafts:5},{id:2, partnerId:4, applicatiions:1, drafts:2}]},
{ id:5, name:'kam',stats:[{id:1, partnerId:5, applicatiions:2, drafts:3}]},
{ id:6, name:'jam',stats:[]},
{ id:7, name:'ram',stats:[{id:1, partnerId:7, applicatiions:9, drafts:5},{id:2, partnerId:7, applicatiions:2, drafts:5}]}
]

result should be :

[ 
{ id: 4, name:'sam', applicatiions:5, drafts:7}, 
{ id: 5, name:'kam', applicatiions:2, drafts:3},
{ id: 6, name:'jam', applicatiions:0, drafts:0},
{ id: 7, name:'ram', applicatiions:11, drafts:10},
]
1 Answers

const data = [ 
{ id:4, name:'sam',stats:[{id:1, partnerId:4, applicatiions:4, drafts:5},{id:2, partnerId:4, applicatiions:1, drafts:2}]},
{ id:5, name:'kam',stats:[{id:1, partnerId:5, applicatiions:2, drafts:3}]},
{ id:6, name:'jam',stats:[]},
{ id:7, name:'ram',stats:[{id:1, partnerId:7, applicatiions:9, drafts:5},{id:2, partnerId:7, applicatiions:2, drafts:5}]}
]

const items = data.map(item=> {return {...item, applicatiions: item.stats.reduce((partialSum, stat) => partialSum + stat.applicatiions ,0), drafts: item.stats.reduce((partialSum, stat) => partialSum + stat.drafts ,0)}});

console.log(items.map(({stats, ...rest}) => rest ))

Related