首页 > 编程语言 > 详细

五星评分算法

时间:2019-09-03 22:24:32      阅读:134      评论:0      收藏:0      [点我收藏+]
//this.movies后端传来的数据
     let movies = data.data.modules[4].data.subject_collection_boards[0].items
//定义数组长度
  let count=5;
//this.movies后端传来的数据中每一想是否存在评分值
  for (var i = 0; i < movies.length;i++){
    //定义一个数组用来存放星星图片
    imglist = [];
  //如果存在评分值(10分为例)
  if (movies[i].rating){
    //定义得分score
    let score = (movies[i].rating.value)/2;
    //是否有小数(取余不为0)
    let scoresmall = score%1 !==0
    //对得分下取整,处理亮星(liang(亮星的数量))
    let liang=Math.floor(score);
     //循环处理,将亮星有多少push进结果数组中
    for (var a = 0; a < liang;a++){
    imglist.push("../../image/a.png")
   }
  //如果存在小数,就push一个半星
  if (scoresmall){
    imglist.push("../../image/c.png")
  }
  //如果数组结果小于预设最大长度,就push暗星进结果数组中
  while (imglist.length < count) {
    imglist.push("../../image/b.png")
  }
  //在后端传来的数据中自定义一个imgslist 属性等于imglist
  movies[i].imgslist = imglist
 
  }
}

五星评分算法

原文:https://www.cnblogs.com/Angiy/p/11456044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!