every() 方法遍历数组中每个成员,通过回调函数判断是否所有成员都满足特定条件。
arr.every( callback = function(currentValue, index, arr){} [, thisArg ] )
| 实例方法参数 | 说明 | 类型 |
|---|---|---|
callback | 用于判定数组成员的回调函数 | function |
thisArg | 执行回调函数的 this 值 |
| 回调函数参数 | 说明 | 类型 |
|---|---|---|
currentValue | 当前遍历的数组成员 | any |
index | 当前遍历的数组成员的索引 | number |
arr | 原数组 | array |
返回值: 当所有数组元素满足回调函数的判断时返回 true,否则返回 false。
false 的数组成员则立即给实例方法返回 false,否则全部成员都通过检测的回调函数,则返回 true。thisArg 参数,则该参数为调用回调函数时的 this 值。如果省略该参数,则为回调函数被调用时的 this 值,在非严格模式下为全局对象,在严格模式下传入 undefined。every() 之后添加到数组中的成员不会被回调函数访问到。如果数组中存在的成员被更改,则他们传入回调函数的值是 every() 访问到他们那一刻的值。那些被删除的成员或未被赋值的成员将不会被访问到。下例检测数组中的所有元素是否都大于 10。
const isBigEnough = (element, index, array) =>(element >= 10)[(12, 5, 8, 130, 44)].every(isBigEnough)// false[(12, 54, 18, 130, 44)].every(isBigEnough);// true