1. reduce
语法
:array.reduce(function(total, currentValue, currentIndex, arr){})
参数
:total
初始值
, 或者计算结束后的返回值(上一轮循环的return值)
currentValue
当前元素
currentIndex
当前元素索引
arr 当前元素的所属数组
例子
var numbers = [1,2,3,4,5,6];
function addNum(prev, cur) {
return prev + cur;
}
function sum(item) {
console.log(numbers.reduce(addNum))
}
2. some
用于判断数组中的是否含有满足条件的元素,返回一个布尔值
依次执行数组的每个元素:
-
如果有一个元素满足条件,则表达式返回
true
, 剩余的元素不会再执行检测。 - 如果没有满足条件的元素,则返回false。
注意:
some() 不会对空数组进行检测。
注意:
some() 不会改变原始数组。
语法
:array.some(function(currentValue,index,arr){})
参数
:
currentValue
当前元素
index
当前元素索引
arr 当前元素的所属数组
例子
var ages = [18,19,20,21]
function checkAdult(age) {
return age >= 18
}
function myFunction() {
console.log( ages.some(checkAdult)); // true
}
3. every
用于判断数组中元素是否全部满足条件,返回一个布尔值
every() 方法使用指定函数检测数组中的所有元素:
-
如果数组中检测到有一个元素不满足,则整个表达式返回
false
,且剩余的元素不会再进行检测。 - 如果所有元素都满足条件,则返回 true。
注意:
every() 不会对空数组进行检测。
注意:
every() 不会改变原始数组。
语法
:array.every(function(currentValue,index,arr){})
参数
:
currentValue
当前元素
index
当前元素索引
arr 当前元素的所属数组
例子
var ages = [32, 33, 12, 40];
function checkAdult(age) {
return age >= 18
}
function myFunction() {
console.log(ages.every(checkAdult)) // false
}
4. filter
用于筛选数组中满足条件的元素,返回一个筛选后的新数组。
5. map
用于遍历数组,返回处理之后的新数组,可以看到,该方法与forEach()的功能类似,只不过map()具有返回值,会返回一个新的数组,这样处理数组后也不会影响到原有数组
6. forEach
用于遍历数组,无返回值(也是与map的区别)