some、every、reduce、filter、map、for
some()、every()— —判断数组
some()
1)不创建新数组
2)不改变原数组
3)输出的是判断为true则马上跳出循环并return成true
4)回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
5)使用return操作输出,会循环数组每一项,并在回调函数中操作
every()— —与some相反
1)不创建新数组
2)不改变原数组
3)输出的是判断为false则马上跳出循环并return成false
4)回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
5)使用return操作输出,会循环数组每一项,并在回调函数中操作
reduce()— —叠加数组
不是在数学意义上的叠加计算,这里叠加指:可以利用前遍历操作的结果到下一次遍历使用,重复叠加使用下去
语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
1)创建新数组
2)不改变原数组
3)输出的是return叠加什么就输出什么 新数组
4)回调函数参数
-
function(total,currentValue, index,arr)
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。 -
传递给函数的初始值
5)使用return操作输出,会循环数组每一项,并在回调函数中操作
arr.filter()— —遍历数组
1)创建新数组
2)不改变原数组
3)输出的是判断为true的数组元素形成的新数组
4)回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
5)使用return操作输出,会循环数组每一项,并在回调函数中操作
arr.map()— —更新数组
1)创建新数组
2)不改变原数组
3)输出的是return什么就输出什么新数组
4)回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
5)使用return操作输出,会循环数组每一项,并在回调函数中操作
arr.forEach()— —遍历数组
遍历数组全部元素,利用回调函数对数组进行操作,自动遍历数组.length次数,且无法break中途跳出循环
因此不可控
不支持return操作输出,return只用于控制循环是否跳出当前循环