JavaScript – 数组 every() 方法
在 JavaScript 中,Array every() 方法用于检查数组中的每个元素是否满足指定的条件。如果所有元素都满足条件,那么该方法返回 true,否则返回 false。every() 方法的语法如下:
array.every(function(currentValue, index, arr){
// 检查的条件
}, thisValue);
其中,function 是要执行的函数,它包含 3 个参数:currentValue 表示当前元素的值,index 表示当前元素的下标,arr 表示当前数组对象;thisValue 表示可选的上下文对象(即函数中 this 的值),如果没有指定 thisValue 参数,则默认为 undefined。
以下是一个简单的示例代码,用于检查数组中的所有元素是否均为正整数:
var arr = [1, 2, 3, 4, 5];
var result = arr.every(function(elem) {
return elem > 0; // 检查每个元素是否大于 0
});
console.log(result); // 输出 true
在上面的代码中,arr.every() 方法首先遍历整个数组,然后调用指定的函数检查每个元素是否大于 0。由于数组中的所有元素均为正整数,因此该方法返回 true。
同时,every() 方法还有一个有用的特性:它可以在数组遇到第一个不满足条件的元素时就停止遍历,从而提高效率。下面是一个演示代码,用于检查数组中的所有偶数元素是否能被 2 整除:
var arr = [2, 4, 6, 7, 8];
var result = arr.every(function(elem) {
if (elem % 2 === 0) {
return elem % 4 === 0; // 当元素为偶数时,检查是否能被 4 整除
}
return true; // 当元素为奇数时,直接返回 true
});
console.log(result); // 输出 false
在上面的代码中,arr.every() 方法首先遍历整个数组,然后调用指定的函数检查每个元素是否能被 4 整除(对于奇数元素,直接返回 true)。由于数组中的第 4 个元素 7 不满足条件,因此该方法在遍历到第 4 个元素时就返回了 false。
需要注意的是,every() 方法不会改变原有数组,它只是读取元素的值进行操作。
结论
Array every() 方法可用于检查数组中的所有元素是否满足指定的条件。该方法在遇到第一个不满足条件的元素时就会停止遍历,从而提高效率。同时,该方法不会改变原有数组,只是读取元素的值进行操作。