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只用于控制循环是否跳出当前循环