javascript - 按键计算对象数组(动态)的百分比

标签 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}
]

如有任何帮助,我们将不胜感激。

最佳答案

您可以获得所有计数的总和并生成具有百分比值的新对象。

var data = [{ status: 'init', count: 1000 }, { status: 'start', count: 2500 }, { status: 'done', count: 1500 }],
    sum = data.reduce((s, { count }) => s + count, 0),
    result = data.map(({ status, count }) => ({ status, percentage: count * 100 / sum }));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 按键计算对象数组(动态)的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58209353/

相关文章:

javascript - 如何在 View javascript中序列化后使用json字符串?

php - 基于 PHP 和 jQuery 构建的倒数计时器?

javascript - 更新 FaunaDB 中的记录时,如何在不传入每个字段和子对象的情况下更新一个字段?

javascript - 事件发射器 setMaxListeners(15) 在这里如何工作?

javascript - 如何在 react , Gatsby 中从子组件内部更改父组件的背景颜色

javascript - 在 php 启动时仅加载一次启动画面

javascript - 将php数据表导出为pdf版本

javascript - 是否可以从后退按钮事件调用ons-sliding-menu组件的closeMenu方法?

javascript - Firebase 数组始终返回 false

javascript - React 处理多输入值