foreach map fliter every some 的区别及其用法
1. foreach
说明:遍历数组全部元素,利用回调函数对数组进行操作,自动遍历数组.length次,且无法break中途跳出循环,不可控、不支持return操作输出,return只用于控制循环是否跳出当前循环。
例子:
2. map
说明:
创建新数组
不改变原数组
输出的是 return什么就输出什么 新数组
回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
使用return操作输出,会循环数组每一项,并在回调函数中操作
示例:
3. fliter
说明: 顾名思义就是过滤,新数组得到符合条件的数组。
例子:
4. every some
说明:every方法返回值是布尔类型,最终返回值为true需要每一次回调函数返回值都为true,如果某一次回调函数返回值为false则every方法结束对数组的遍历并返回false,所以在想要跳出循环时回调函数return false,因为every会对callback回调函数中的返回值做的判断处理类似于&&。
some方法返回值是布尔类型,最终返回值为true只需要任意一次回调函数返回值为true就会结束对数组的遍历,如果每一次回调函数返回值都为false的话则some方法就会一直遍历辖区并返回false,所以在想要跳出循环时回调函数return true,因为some会对callback回调函数中的返回值做的判断处理类似于||。
实际运用中,如果希望跳出循环时得到的判断值为true的话则用some,如果希望跳出循环时得到的判断值为false的话则用every。