优化if-else代码
2018-11-08 14:41
190 查看
//例子
var mMap = new Map([ [162,function(h,a){console.log("he height is" + h + " ,he age is" + a)}], [174,function(h,a){console.log("he height is" + h + " ,he age is" + a)}], [198,function(h,a){console.log("he height is" + h + " ,he age is" + a)}], ]) var height = 150, age = 12; mMap.get(height + age)(height,age) //he height is150 ,he age is12 //正则 var mMap = new Map([ [/^\d{2,5}$/,function(h,a){console.log("位数大于2且小于5")}], [/^\d{5,10}$/,function(h,a){console.log("位数大于5且小于10")}], ]) var arr = [...mMap].filter(([k,v])=>(k.test(`123`))) arr.forEach(([k,v])=>v.call(this)) //位数大于2且小于5
//对Map数据结构做简要介绍
定义:
Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
语法:
new Map([iterable]) Iterable 可以是一个数组或者其他 iterable 对象,其元素或为键值对,或为两个元素的数组。 每个键值对都会添加到新的 Map。null 会被当做 undefined。
方法:
Map.prototype.get(key) 返回键对应的值,如果不存在,则返回undefined。
Map.prototype.has(key) 返回一个布尔值,表示Map实例是否包含键对应的值。
Map.prototype.set(key, value) 设置Map对象中键的值。返回该Map对象。
对于Map数据结构来说,不支持 = 号的赋值~~~~~~~
相关文章推荐
- CPU与代码优化(1):用三元操作符替代if-else以降低CPU分支预测惩罚;函数13倍提速(Unity)。
- 利用策略模式优化过多 if else 代码
- 多条件if...else...选择语句代码优化
- 代码优化——去除你代码中的if...else...层层嵌套
- 代码优化——去除你代码中的if...else...层层嵌套
- 关于优化冗余的多个if-else代码
- 关于if-else代码的优化
- 关于if-else代码的优化
- 过多if-else分支的优化
- 有关过多if-else代码的优雅解决方式(搭配注解替代枚举的方法)
- 如何无痛降低 if else 面条代码复杂度
- js中if语句的几种优化代码写法
- 重构—改善代码既有设计 之if/else使用
- 减少 if else 嵌套,提高代码的可读性
- switch...case 和 if...else效率比较和优化
- 代码重构----使用java有限状态机来消除太多的if else判断
- if,else优化
- 代码重构-2 简单不变的 if else 用字典代替
- 过多if-else分支的优化
- 策略模式+工厂模式优化if...else if...else if结构