我在 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/