Посчитать рейтинг в процентном отношении в JS

словил затуп

в базе хранятся отзывы о магазине

  • id
  • userId
  • rating

как посчитать в процентном отношении рейтинг магазина

если все 5-ки это 100%

а поле rating хранит от 0 до 5 значения


Ответы (1 шт):

Автор решения: Алексей Р

Можно взять среднее арифметическое оценок и отнормировать к 5 (разделить на 5). Таким образом, в крайних случаях:

  • если все оценки == 0, то рейтинг будет 0/5 = 0%
  • если все оценки == 5, то рейтинг будет 5/5 = 100%
  • если, например, оценки 5 и 4, то ((5+4)/2)/5 = 4,5/5 = 90%

function rating(arr) {
    return 'Рейтинг магазина = ' + (arr.reduce((a, c) => a + c, 0) / arr.length / 5 * 100).toFixed(2) + '%';
}

console.log(rating([3, 4, 5, 2, 4, 5, 3]))

→ Ссылка