美文网首页
多个条件对应数据处理(if else)

多个条件对应数据处理(if else)

作者: 暴烈的海胆 | 来源:发表于2020-10-12 15:40 被阅读0次

// 场景一:多个condition对应名称

// 方案1: 将condition用Object对象形式存在Map对象里
const actions = new Map([  
  [{identity:'guest',status:1},()=>{/*do sth*/}],  
  [{identity:'guest',status:2},()=>{/*do sth*/}],  
  //...
  ])
const onButtonClick = (identity,status)=>{  
  let action = [...actions].filter(([key,value])=>(key.identity == identity && key.status == status))  
  action.forEach(([key,value])=>value.call(this))
}

// 方案2: 将condition用字符拼接形式存在Object对象里

const actions = { 
  'guest_1':()=>{/*do sth*/},  
  'guest_2':()=>{/*do sth*/},  
  //....
}
const onButtonClick = (identity,status)=>{  
  let action = actions[`${identity}_${status}`] || actions['default'] 
  action.call(this)
}

// 场景四: 根据范围去进行不同处理
// 「举个栗子:」 比如大家可能会遇到类似下面的需求:比如某平台的信用分数评级,超过700-950,就是信用极好,650-700信用优秀,600-650信用良好,550-600信用中等,350-550信用较差。

// 方案一、用look-up表,把配置数据和业务逻辑分离



showGrace(grace,level,levelForGrace) {   
  for(let i=0;i<level.length;i++){        
    if(grace>=level[i]){           
      return levelForGrace[i];       
    }   
  }  
  //如果不存在,那么就是分数很低,返回最后一个
 return levelForGrace[levelForGrace.length-1]
}

let graceForLevel=[700,650,600,550];
let levelText=['信用极好','信用优秀','信用良好','信用中等','信用较差'];

showGrace(610,graceForLevel,levelText) // '信用良好'



相关文章

  • 多个条件对应数据处理(if else)

  • if 运用

    一、判断语句 满足条件做某事 二、else 多个条件判断 三、写法 多个条件: 单个条件:

  • 5.2 if语句

    一个判断 if 条件 : input返回的是字符串!!!!! 2个条件判断 if : else: 多个条件判断 ...

  • python基础语法(二)

    一、if语句: if...else if...elif...else 如果在比较中,涉及到多个条件,可以用以下连接...

  • if if和if elseif的区别

    多个if是所有的if都会进行判断比如: if else if是只要有满足条件的,就不再对之后的else if进行判...

  • Python 各种语句:2018-07-27

    1. If...elif...else条件语句 Python 不支持switch语句,所以多个条件的判断只能用el...

  • js 总结三 7-11

    条件、循环 条件if if...else if...else if...else 循环for for..in while

  • (7) 流程控制

    流程控制 1. 条件判断 1. if条件语句(侧重范围判断) 多个else if语句 注意: if侧重范围比较 i...

  • JavaScript - 控制语句

    if语句:if(条件)...else(条件)...else switch:switch(expression){c...

  • 今天的知识点

    if else if(条件){ (条件正确是执行的语句); }else{ (条件不真确是执...

网友评论

      本文标题:多个条件对应数据处理(if else)

      本文链接:https://www.haomeiwen.com/subject/kntppktx.html