开发日记(3): 优化了自己的代码(大量if/else以及遍历)

1,534 阅读1分钟

背景:

项目需求做的差不多了,闲来无事,review了一遍自己的代码,对一些代码做了优化;

实际例子:

一:两次遍历优化

优化前:

image.png

优化后

image.png 这里主要是想对一个返回数据中,积分和数量的总和做计算,之前用的是先map,计算没个对象的总积分,再forEach计算一个数组的合;但是查询数组方法时候突然看到了数组的这个 reduce ,可以对数组中的每个对象执行函数,并且累加返回一个值;所以便可以对用了两次遍历的代码做一个优化;

image.png

二:多层ifelse嵌套优化

优化前

这是优化前后的代码对比 image.png

优化后

这里主要是在网上学了一个 策略模式的优化方法,将所有的表单校验抽离为一个单文件对象,并且在页面中通过遍历的方式验证,运用some的好处是只要有一条不符合,就终止遍历,所以比较高效,详见上一篇文章对与some的讲解 首先是定义一个js文件,放校验的方法 image.png

通过import引入 image.png 然后获取表单对象的key,通过some方法遍历,将key和value传入校验方法中,如果有一条不符合则return为false,并且toast提示; image.png

下面这个是对一个input输入框的输入值做转换的,之前用的是if 后来优化为 switch case;最终优化为对象的形式返回; image.png