关于递归导致js报错堆溢出的问题

最近做el-tree组件开发的时候,选中某条会报这种错误。这句话的意思是堆超出了最大范围。


此图中不难发现,有2条数据的id重复,结合报错,我怀疑是id重复导致,删除了表里的用例名称3333,解决了问题,但是这两个,1个是模块,1个是用例,所以肯定会有重复的情况,所以问题还没有解决,我就换了其他的思路


因为用例模块3333的id为3,父模块ID也是3。于是怀疑是数组转tree递归的时候导致堆溢出。这个时候打印了一下,数组转tree后的数据,果然是转换的时候逻辑写错了,导致id和父模块id一样无限递归循环导致堆溢出

于是在原有的转换基础上增加了红框内容,完美解决问题。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。