当前位置:网站首页 > 技术博客 > 正文

js switch判断成绩

背景:已知两个时间之间的差距,判断在4个时间范围内的哪一个,然后返回对应的颜色。即,已知时间差,求对应的返回值。

四个时间范围是:1年内、1~2年、2~3年、3年以上

时间差是大于等于一个minValue且小于等于一个maxValue。

核心代码:

因为switch等于true,即当case的语句返回值也是true,才会执行对应的语句。

getFormatColor: function (currentTime,parentTime) { //计算时间差 var color='' var minVal=0 var maxVal=0 var a = moment(parentTime); var b = moment(currentTime); var timeDiff = a.diff(b, 'years', true); // 1.75 switch (true) { case _.inRange(timeDiff, 0, 1): color = "rgba(1,255,1,.7)" minVal = 0 maxVal = 1 break; case _.inRange(timeDiff, 1, 2): color = "rgba(255,255,0,.7)" minVal = 1 maxVal = 2 break; case _.inRange(timeDiff, 2, 3): color = "rgba(255,192,0,.7)" minVal = 2 maxVal = 3 break; case _.inRange(timeDiff, 3, 100): color = "rgba(214,20,21,.7)" minVal = 3 maxVal = 100 break; default: color = 'pink' break; } return {color,minVal,maxVal} },

 

调用方法:

var currentTime = ''//日期格式一致 var parentTime = '2014-05-18 09:10:12' //不变的日期时间,即参照物 var color = MAPutils.getFormatColor(currentTime,parentTime).color;

写到这儿就结束了,下面是大于等于且小于等于一个数值的另一种写法:

 

switch (true) { case timeDiff >= 0 && timeDiff < 1: color = "rgba(1,255,1,.7)" minVal = 0 maxVal = 1 break; case timeDiff >= 1 && timeDiff < 2: color = "rgba(255,255,0,.7)" minVal = 1 maxVal = 2 break; case timeDiff >= 2 && timeDiff < 3: color = "rgba(255,192,0,.7)" minVal = 2 maxVal = 3 break; case timeDiff >= 3 && timeDiff < 100: color = "rgba(214,20,21,.7)" minVal = 3 maxVal = 100 break; default: color = 'pink' break; }

版权声明


相关文章:

  • jconsole怎么使用2024-10-23 19:01:05
  • 无法更新项目的依赖项2024-10-23 19:01:05
  • js都是怎么服务的2024-10-23 19:01:05
  • vue2使用swiper2024-10-23 19:01:05
  • vue3使用vue2组件2024-10-23 19:01:05
  • 如何用vue cli创建一个项目2024-10-23 19:01:05
  • javax.jws2024-10-23 19:01:05
  • 创建一个vue项目具体步骤2024-10-23 19:01:05
  • vue2.2024-10-23 19:01:05
  • vue.js前端开发基础与项目实战2024-10-23 19:01:05