首页 > 解决方案 > 按键计算对象数组(动态)的百分比

问题描述

我在javascript中有以下对象数组。如果有任何新status密钥到达,数组的大小可能会有所不同。

[
    {'status':'init','count':1000},
    {'status':'start','count':2500},
    {'status':'done','count':1500}
]

需要得到以下格式的输出。基本上是键在数组中所有对象的百分比。

[
    {'status':'init','percentage':20},
    {'status':'start','percentage':50},
    {'status':'done','percentage':30}
]

任何帮助,将不胜感激。

标签: javascript

解决方案


const myArr = [
   {'status':'init','count':1000},
   {'status':'start','count':2500},
   {'status':'done','count':1500}
]

const total = myArr.reduce((a,i)=> a + i.count ,0)

const final = myArr.map(e=> ({...e, percentage: e.count * 100 / total})

推荐阅读