如何使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
平均得分为: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等等。哦,非常简单。很抱歉,我刚刚又做了一次,它工作非常完美,非常小,但非常有效,非常感谢