使用every和some代替forEach
因为forEach可以用return进行类似for循环中continue的功能,但for循环中break的功能无法实现,而every和some都通过控制return的值来控制循环中断跳出break。
具体做法是:
every方法返回值是布尔类型,最终返回值为true需要每一次回调函数返回值都为true,如果某一次回调函数返回值为false则every方法结束对数组的遍历并返回false,所以在想要跳出循环时回调函数return false,因为every会对callback回调函数中的返回值做的判断处理类似于&&。
some方法返回值是布尔类型,最终返回值为true只需要任意一次回调函数返回值为true就会结束对数组的遍历,如果每一次回调函数返回值都为false的话则some方法就会一直遍历辖区并返回false,所以在想要跳出循环时回调函数return true,因为some会对callback回调函数中的返回值做的判断处理类似于||。
实际运用中,如果希望跳出循环时得到的判断值为true的话则用some,如果希望跳出循环时得到的判断值为false的话则用every。
来源:CSDN
作者:subwaysamurai
链接:https://blog.csdn.net/GahoYeung/article/details/104749990