Математическая формула для рейтинговой системы
Я хотел бы знать, будет ли лучший способ создать мой stars
переменная на основе процентного значения.
Все, что мне нужно, это определить рейтинг звезд 1, 1,5, 2, 2,5 и т. Д. На основе процентного значения.
Я сделал это с помощью оператора switch, но подумал, есть ли математическая формула, которая могла бы сделать это?
Просто кажется немного затянутым программно, чтобы сделать это таким образом?
var stars = 0;
switch (true) {
case score === 100:
stars = 5;
break;
case score >= 90:
stars = 4.5;
break;
case score >= 80:
stars = 4;
break;
case score >= 70:
stars = 3.5;
break;
case score >= 60:
stars = 3;
break;
case score >= 50:
stars = 2.5;
break;
case score >= 40:
stars = 2;
break;
case score >= 30:
stars = 1.5;
break;
case score >= 20:
stars = 1;
break;
case score >= 10:
stars = 0.5;
break;
case score >= 0:
stars = 0;
break;
}
Я признаю, что мои математические навыки не очень хороши (у меня проблемы с числами), поэтому извините, если мой вопрос оскорбляет тех, кто строго относится к попыткам сделать что-то самостоятельно, но это просто жарит мой мозг!
Заранее спасибо за любую помощь!
3 ответа
Решение
Пожалуйста, попробуйте это
звезды = оценка> 100? 0: Math.floor(оценка * 0,1) / 2
var result = Math.floor(score * 0.1) / 2
stars = score > 100 ? 0: result