表驱动法解决复杂的if判断

描述: 取值是0~6,含义分别是周一到周日。编写函数进行转换

function dayToWeek(day) {
    let res = ''
    if(day === 0) {
        res = '周一'
    } else if (day === 1) {
        res = '周二'
    } else if (day === 2) {
        res = '周三'
    } else if (day === 3) {
        res = '周四'
    } else if (day === 4) {
        res = '周五'
    } else if (day === 5) {
        res = '周六'
    } else if (day === 6) {
        res = '周日'
    } else {
      throw new RangeError('取值有误')
  }
    return res
}

上述代码很啰嗦。其实,先用switch改写一下

function dayToWeek(day) {
    switch(day){
        case 1: return '周一'
        case 2: return '周二'
        case 3: return '周三'
        case 4: return '周四'
        case 5: return '周五'
        case 6: return '周六'
        default: throw new RangeError("取值有误")
    }
}

表驱动发正式上线

function dayToWeek(day) {
     let weekArr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
     return weekArr[day]
}

猜你喜欢

转载自www.cnblogs.com/jxjl/p/12725383.html