如何使javascript代码更清晰?

如何使javascript代码更清晰?,javascript,Javascript,我有五星评级和平均分 平均分数是浮点数 五星评级只有10分,一星有两颗半星(所以10分就是五星) 例: 平均得分为:0-5分(average=4.658,或average=0.256,0如果我正确理解了你的问题,你想取一个平均分数,并将其转换为一个星级评分,其中每个星级都值两分,你从average开始,它似乎是0和5之间的小数 如果是: // Flags for whether to show stars, based on `average` being // a fractional num

我有五星评级和平均分

  • 平均分数是浮点数
  • 五星评级只有10分,一星有两颗半星(所以10分就是五星)
  • 例:


    平均得分为:0-5分(average=4.658,或average=0.256,0如果我正确理解了你的问题,你想取一个平均分数,并将其转换为一个星级评分,其中每个星级都值两分,你从
    average
    开始,它似乎是
    0
    5
    之间的小数

    如果是:

    // Flags for whether to show stars, based on `average` being
    // a fractional number `0 <= average < 5`
    var stars = [
        average > 0,
        average > 1,
        average > 2,
        average > 3,
        average > 4
    ];
    

    如果我正确理解了你的问题,你想取一个平均分数,然后将其转换成一个星级评分,每个星级都值2分,你从
    average
    开始,它似乎是
    0
    5
    之间的一个小数

    如果是:

    // Flags for whether to show stars, based on `average` being
    // a fractional number `0 <= average < 5`
    var stars = [
        average > 0,
        average > 1,
        average > 2,
        average > 3,
        average > 4
    ];
    
    我想你只需要

    Math.floor(average * 2.0) / 2.0;
    
    此代码只保留任何浮点数的x.y

    编辑:我犯了一个小错误。我将它设置为0.1步,所以它将从0.85到0.8,这是现在固定的(1/2.0)=0.5步。你可以使用4.0表示0.25步,10.0表示0.1步等等。

    我想你只需要

    Math.floor(average * 2.0) / 2.0;
    
    function getAverage(twofixed)
            {
                var average;
                if(twofixed[1] == undefined)
                {
                    average = twofixed[0];
                }
                else
                {
                    average = (twofixed[1] <= 99) ? twofixed[0]+0.50 : twofixed[0]+1;
                }
                return average;
            }
    
    此代码只保留任何浮点数的x.y

    编辑:我犯了一个小错误。我将它设置为0.1步,因此它将从0.85到0.8,这是固定的(1/2.0)=0.5步。您可以使用4.0表示0.25步,10.0表示0.1步,依此类推。

    函数getAverage(twofixed)
    
    function getAverage(twofixed)
            {
                var average;
                if(twofixed[1] == undefined)
                {
                    average = twofixed[0];
                }
                else
                {
                    average = (twofixed[1] <= 99) ? twofixed[0]+0.50 : twofixed[0]+1;
                }
                return average;
            }
    
    { var平均值; if(twofixed[1]==未定义) { 平均值=两个固定值[0]; } 其他的 { average=(twofixed[1]
    函数getAverage(twofixed)
    {
    var平均值;
    if(twofixed[1]==未定义)
    {
    平均值=两个固定值[0];
    }
    其他的
    {
    

    平均值=(两个固定值[1]你的代码起点的平均值是多少?平均值是评分的平均值。例如:我有5个用户,每个用户都有一个评分,然后平均值=5/5=1你的代码起点的平均值是多少?平均值是评分的平均值。例如:我有5个用户,每个用户都有一个评分,然后平均值=5/5=1他的同事de使用了10个步骤,但您只提供了5个标志。请更改它。@th3falc0n:他说的是五星,所以我就是这么做的。直到/除非问题得到澄清…:-)谢谢你的指导,但它不仅仅是整数。我有五星,每个星有两个半星,但平均数是浮点数,所以我想平均修正到五星中的10个部分。谢谢,你回答了我的另一个问题。很抱歉我的问题和糟糕的英语。该代码使用10个步骤,但你只提供了5个标志。请更改通用电气。@th3falc0n:他说的是五星,所以我就是这么做的。直到/除非问题得到澄清…:-)谢谢你的指导,但这不仅仅是整数。我有五颗星,每颗星有两个半星,但平均数是浮点数,所以我想在五颗星中对10节进行平均修正。谢谢,你又问了我一个问题。对不起,我的问题不好,英语也不好。这个“平均数”只有0-5,但它是一个十进制数,我想修正它第10节[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5].Ex:如果average=4.69,那么它将在10个部分中包含4.5,这正是我的代码所做的。它将0.12到0,0.54到0.5,1.499到1等等。哦,非常简单。很抱歉,我刚刚再次使用了它,它工作得非常完美,非常小但非常有效,非常感谢您“average”仅在0-5之间,但它是一个十进制数,我想将它修改为10个部分,[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5].Ex:如果average=4.69,那么它将在10个部分中包含4.5,这正是我的代码所做的。它使0.12到0,0.54到0.5,1.499到1等等。哦,非常简单。很抱歉,我刚刚又做了一次,它工作非常完美,非常小,但非常有效,非常感谢