前端JS——if else if 的简洁写法

假如我们有这样一段逻辑:

let orderStatus = ''

if (res.data.status == '1') {
    orderStatus = '待付款'
} else if (res.data.status == '2') {
    orderStatus == '待发货'
} else if (res.data.status == '3') {
    orderStatus == '已发货'
} else if (res.data.status == '4') {
    orderStatus == '待收货'
} else if (res.data.status == '5'){
    orderStatus == '已完成'
}

可以简写为:

let orderStatus
let map = { '1': '待付款', '2': '待发货', '3': '已发货', '4': '待收货','5':'已完成'}
orderStatus = map[res.data.status]

如果是列表返回数据:

假设列表返回 数据是:

list:[{days:30},{days:365},{days:90},{days:30},{days:90},{days:365}]

你需要将返回“30”对应显示为:1个月(30天);365对应显示为:1年(365天);90对应显示为:3个月(90天)

那么你就可以这样写:

list.map(item => {
    let map = {"30": "1个月(30天)","90": "3个月(90天)","365": "1年(365天)"};
    item.days = map[item.days];
})

 

你可能感兴趣的:(JavaScript)