计算得分对数字

时间:2016-12-11 09:31:50

标签: javascript jquery angularjs algorithm

我有5颗星,每次用户可以选择从1-5开始评分。所以我有这样的分数

stars = [0,0,2,3,5] //我在数据库中有这个

2个用户评分为3星,3个用户给了4个星,5个用户给了5个星,但我如何计算在客户端显示的分数?

3 个答案:

答案 0 :(得分:3)

您可以将加权值相加并除以评级计数。



var stars = [0, 0, 2, 3, 5],
    count = 0,
    sum = stars.reduce(function (sum, item, index) {
        count += item;
        return sum + item * (index + 1);
    }, 0);
   
console.log(sum / count);




答案 1 :(得分:1)

另一种解决方案同样有效但可能更容易理解。

/home/spark/spark/bin/

答案 2 :(得分:0)

这是您的完整解决方案..如果不起作用请发表评论..

HTML

<p id="demo"></p>

的Javascript

<script type="text/javascript">
stars = [0,0,2,3,5]

var sum = stars.reduce(add, 0);
function add(a, b) {
    return a + b;
}
var text='';

 for (i = 0; i < stars.length; i++) { 
  text += "The percentege of the star "+(i+1)+ " is :"+ (stars[i]/sum)*100 + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>

按照此处... https://jsfiddle.net/zoux6v1x/1/了解详情