如何计算 N 个数字的百分比?

How do I calculate percentage of N numbers?

我有一组包含不同键的对象,我们特别需要一个,

评分:1-5(这个值可以从最小 1 到最大 5)

我想计算所有对象的百分比

目前我的代码(它只给出 2 个数字的正确结果):

const feedbacks = [
  { rating: 1 },
  { rating: 3 },
  { rating: 4 },
  { rating: 2 },
  { rating: 5 }
];

function calculatePercentage() {
  console.log(feedbacks);
  let percentage = 0;
  feedbacks.map(feedback => {
    switch (feedback.rating) {
      case 1:
        feedback.ratingPercentage = 20;
        break;
      case 2:
        feedback.ratingPercentage = 40;
        break;
      case 3:
        feedback.ratingPercentage = 60;
        break;
      case 4:
        feedback.ratingPercentage = 80;
        break;
      case 5:
        feedback.ratingPercentage = 100;
        break;
    }
  })

  for (let i = 0; i < feedbacks.length - 1; i++) {
    percentage += feedbacks[i].ratingPercentage / feedbacks[i + 1].ratingPercentage;
  }

  percentage = percentage * 100;

}
calculatePercentage()
console.log(feedbacks)

如果我理解你的问题,你实际上想要计算(百分比)评分的平均值。您可以将所有百分比相加并除以数组的长度。可以单行完成,但我觉得最好显示扩展版本:

var average = 0;
for (let i = 0; i < feedbacks.length; i++) {
    average += feedbacks[i].ratingPercentage;
}
average = average / feedbacks.length;
console.log(average);