今天徒弟遇到一个问题, 循环添加的对象重复了,生成的都是最后一个对象,经codeview发现是循环套循环了,使用了同一个对象进行赋值。因为JS对象是引用类型,一处改,处处改。
然后还发现一个问题,对于集合下面有子集合,子集合下面还有子集合的情况,读取数据应该考虑使用递归,因为层层for循环仅适用于知道层级数的场景,但是这种做法代码量很冗余,没有递归简洁。
以下是demo:
递归还是很简单的,唯一要注意的就是要避免死循环,一些递归方法里会有各自的逻辑,满足逻辑时退出,那个时候就要避免逻辑漏洞,因为死循环是很可怕的,容易卡住浏览器,然后系统内存占满导致死机。