前端Js根据评价得分展示星级
准备工作
- 需要一个具体评分字段 “x” (x代表多少分数,可以指定0 – 5分,会出现 (x.5) 半星的情况)
- 需要三张星星图片,1代表一张完整的金星,2代表左半边是金色,右边是灰色的星星,0代表一张灰色星星
具体应用
-
假如接口传过来的是x是3.5分,我们需要将3.5转换成[1 , 1 , 1 , 0.5 , 0],需要前三个是完整的金星,第四个是半金星,第五个是灰色。
-
转换的方法: 定义空数组arr准备存5个阶段的分数,for循环遍历1-5个数,然后进行判断 :
(1)如果x是整数,大于等于i,则该次存入1,代表完整金星,否则存入0,代表灰星,但是这是整数才能有的判断,如果出现点5的小数就不行了,需要完善代码
(2)比如上面给的3.5 -三星半的情况,先判断>= i的情况,判断到第三次3.5>=3,已经存了三个为1的金星
(3)循环到了关键的第四个,需要半颗星,第一层if的3.5>=4判断已经不满足了,需要再加第二层 else if 3.5 > i-1 && 3.5 < I,也就是 3.5> 3 && 3.5 <4 ,走到这个判断里该次存入2的左半金星就行,之后第五次直接走到第三层else 里给0灰星就行了。