前端js 中if else 优化

Posted 那年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端js 中if else 优化相关的知识,希望对你有一定的参考价值。

if else 写多了,没别的就是恶心

1. 三元运算 ,或方式

if(flag){
  a=b
}else{
  a=c
}

==> a=a || b
或者 a= flag? b: c

2.数组匹配方式

后台接口通常会返回这种数据:
fruit: 0 // 0=苹果,1=梨子,2=桔子,3=柠檬,4=芒果...

var _f = [\'苹果\',\'梨子\',\'桔子\',\'柠檬\',\'芒果\'];
shuiguo = _f[fruit];

3. switch case方式

  if (res.state === \'SUCCESS\') {
        //TODO
    } else if (res.state === \'FAIL\') {
        //TODO
    } else {
        //TODO
    }

优化使用switch case

 switch (res.state) {
        case \'SUCCESS\':
            //TODO
            break;
        case \'FAIL\':
            //TODO
            break;
        default :
            //TODO
    }

4. 哈希表的方式

if (key == "Apple") {
    val = "Jobs";
} else if (key == "microsoft"){
    val = "Gates";
} else if (key == "Google"){
    val = "Larry";
} 

可以用hash

var ceos = {"Apple":"Jobs", "microsoft":"Gates", "Google":"Larry"};
val = ceos[key];

5. new Map 方式也可以
上面的案例 可以改成

let map = new Map([
  [\'Apple\' , \'Jons\'] ,
  [\'microsoft\' , \'Gates\'] ,
  [\'Google\' , \'Larry\']
])

let val = null
let tmp = \'Apple\'
      for (const [key, value] of map) {
        if (tmp == key) {
          val = value
        }
}

原文 自己又补充了一个 :https://segmentfault.com/a/11...

以上是关于前端js 中if else 优化的主要内容,如果未能解决你的问题,请参考以下文章

前端if else之优化多条条件判断代码,为你的项目提速吧!

前端if else之优化多条条件判断代码,为你的项目提速吧!

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

优化 js中的if else-if 语句 过多的情况

js代码片段