一段代码的优化过程

需求场景:公司要制定一个采购单,但是公司有自己的采购需求的计划部门,因此在制定采购计划的时候,单个物料关联采购需求,单条采购的数量要不大于采购需求,有因为物料可能有损耗,因此输入的数量允许有百分之十的多余。按此,写一个验证。

1.代码:


image.png

代码解析:
首先我想到的是先将所有的物料明细信息传进来(data),然后第一个for循环将所有的明细信息按照选中的所有的相同的需求id进行分组,分组,


image.png

分出来的形式就如图所示,分组后进行分别的验证处理,也就是第二个for循环,
计算出一个最大值然后进行比较。把不满足条件的数据的编号存到数组里。调用验证方法后显示出来。

但是这段代码的运行效率肯定不高,for循环是非常拖慢程序运行的,那现在我们明确的我们的目标就是减少for循环来提高代码的运行效率。
首先将数据进行分组的操作,我们可以通过构造json格式来省去一个for循环。

2.代码:


image.png

这段代码的核心是构造json格式,构造出来的样式就像这样:


image.png

然后我们循环这个json,通过比较,将不满足的那一个json里的“materielCodes: [demandData.materials.code]"这个数组合并到我们准备的那个数组容器中,判断如果这个数组容器中有值,则表明有不满足的明细信息,再返回true,将不满足的信息提示出来。这样一来省去了三个for循环,提高了运行效率。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容