es6 map处理多条件结果返回

当判断条件繁多时,用if...else虽然可以得到想要的结果,但显得相当复杂,且不够高级。

此时我们可以用switch...case来替换,会更加简洁,且利于阅读,但这种方法也比较普遍。

还有一种更优化的方法——es6提供了Map 对象来保存键值对,任何值(对象或者原始值) 都可以作为一个键或一个值。

 

 

===方案1===

var key = 'a'
var value = back()
console.log(value)          // 1

function back() {
  if(key == 'a') {
    return 1
  } else if(key == 'b' || key == 'c') {
    return 2
  }
}

 

===方案2===

var key = 'b'
var value = back()
console.log(value)            // 2

function back() {
  switch (key) {
    case 'a':
      return 1
      break;
    case 'b':
    case 'c':
      return 2
      break;
  }
}

 

===方案3===

var map = new Map([
  ['a', 1],
  ['b', 2],
  ['c', 2],
])

console.log(map.get('a'))      // 1
console.log(map.get('b'))      // 2
console.log(map.get('c'))      // 2

除了map.get之外,还可以使用map.set的方法往Map中添加新的数组,以便筛选 ↓

map.set('d', 3)

console.log(map.get('d'))       // 3

 

 

 

 

posted @ 2022-02-14 16:52  沐夏52Hz  阅读(703)  评论(0编辑  收藏  举报