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

南迪

我在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; }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章