背景:
项目需求做的差不多了,闲来无事,review了一遍自己的代码,对一些代码做了优化;
实际例子:
一:两次遍历优化
优化前:
优化后
这里主要是想对一个返回数据中,积分和数量的总和做计算,之前用的是先map,计算没个对象的总积分,再forEach计算一个数组的合;但是查询数组方法时候突然看到了数组的这个 reduce ,可以对数组中的每个对象执行函数,并且累加返回一个值;所以便可以对用了两次遍历的代码做一个优化;
二:多层ifelse嵌套优化
优化前
这是优化前后的代码对比
优化后
这里主要是在网上学了一个 策略模式的优化方法,将所有的表单校验抽离为一个单文件对象,并且在页面中通过遍历的方式验证,运用some的好处是只要有一条不符合,就终止遍历,所以比较高效,详见上一篇文章对与some的讲解
首先是定义一个js文件,放校验的方法
通过import引入
然后获取表单对象的key,通过some方法遍历,将key和value传入校验方法中,如果有一条不符合则return为false,并且toast提示;
下面这个是对一个input输入框的输入值做转换的,之前用的是if 后来优化为 switch case;最终优化为对象的形式返回;