在使用element级联选择器时,数据从后端获取,但是获取后的数据最后一层中children为空,所以显示如下:
利用递归实现过滤:
注意:这里可以不用const一个新的arr。map可以替换为filter,但不能使用forEach;理由如下:
forEach():用于遍历数组中的每个元素,并对每个元素执行一个回调函数,回调函数可以接收三个参数:当前元素的值、当前元素索引、数组本身。但forEach方法不会返回任何值,它只是对每个元素执行回调函数。
map():也是用于遍历数组中的每个元素,但map方法返回一个新的数组,这个数组包含了对原数组中每个元素执行回调函数后的返回值。它也可以接收三个参数:当前元素的值、当前元素索引、数组本身。
总结:forEach方法不会返回任何结果,它本身不会修改原数组,但允许callback更改原数组的元素。而map方法返回一个新的数组,并且会影响原数组。另外,具体会不会影响原数组要看怎么使用。
为什么可以替换为filter呢,map和filter又有什么区别?
filter():过滤器,该方法根据某个条件过滤数组中的元素,并且返回一个新的数组,新数组仅包含符合条件的元素。举例说明:
总结:map和filter使用方式相似,都是对数组进行操作的方法,都接收一个回调函数作为参数。但在功能和返回值上面有区别。map大多用于创建新数组,filter大多用于筛选。
注意:map、forEach、filter都不能对非数组进行检测,当要检测的数组为空时,不会执行。