javascript - 按键计算对象数组(动态)的百分比
问题描述
我在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}
]
任何帮助,将不胜感激。
解决方案
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})
推荐阅读
- angularjs - 如果本地项目中存在 node_modules,则 Docker-compose 构建失败
- hibernate - Hibernate 获取实体的子集
- php - 访问一个数组元素,其键是另一个数组中的元素
- r - R:r tweets:错误:只能选择一种搜索类型。试试 type = 'recent'
- python - Django:整数字段,即ManyToMany字段的计数
- python - 使用 python 绘制两个大列表 - “unhashable type: 'numpy.ndarray'”
- c# - FluentValidation 是否具有开箱即用的错误级别?
- c - C中'->'(结构的动态分配向量)的类型参数无效
- java - Android Studio Fragments 数学计算
- html - Vuejs 嵌套 v-for 和标签问题