js 数组every
在JavaScript中,数组是一种非常常见的数据结构,经常需要对数组中的元素进行一些条件判断。every
方法是一种非常常用的方法,可以帮助我们判断数组中的所有元素是否满足某个条件。本文将详细介绍every
方法的用法及其实际应用。
语法
every
方法可以在数组的每个元素上调用一个提供的函数,并且如果该函数对数组的每个元素都返回true
,则every
方法返回true
,否则返回false
。every
方法的语法如下:
array.every(function(currentValue, index, arr), thisValue)
function(currentValue, index, arr)
: 对每个数组元素执行的函数,该函数接收三个参数:currentValue
: 当前被处理的元素index
: 当前处理元素的索引arr
: 调用了every
方法的数组thisValue
(可选):传递给函数的值。
示例
让我们通过一个简单的示例来说明every
方法的用法。假设我们有一个存储了某课程多次考试成绩的数组,我们希望判断一个学生是否在每次考试中都及格,即分数大于等于60。
const scores = [76, 89, 72, 95, 60, 81];
const passedEveryExam = scores.every(function(score) {
return score >= 60;
});
console.log(passedEveryExam); // 输出 true
在这个示例中,我们定义了一个包含考试成绩的数组scores
,然后使用every
方法判断数组中的所有元素是否都大于等于60,最终返回true
。
实际应用
every
方法在实际开发中有很多应用场景,比如在表单验证中可以使用every
方法来检查所有输入框是否都已填写。下面是一个简单的示例:
const inputs = document.querySelectorAll('input');
const allInputsFilled = Array.from(inputs).every(function(input) {
return input.value.trim() !== '';
});
if (allInputsFilled) {
console.log('所有输入框都已填写');
} else {
console.log('请填写所有输入框');
}
在这个示例中,我们首先使用querySelectorAll
方法获取所有的input
元素,然后将其转换为数组,最后使用every
方法检查所有输入框的值是否为空。如果所有输入框都已填写,则输出所有输入框都已填写
,否则输出请填写所有输入框
。
注意事项
every
方法只会在数组的所有元素都满足条件时返回true
,一旦有一个元素不满足条件就会立即返回false
。- 如果数组为空,则
every
方法将始终返回true
,因为没有元素不满足条件。
总结
every
方法是一个非常实用的数组方法,可以帮助我们在开发中快速判断数组中的所有元素是否满足某个条件。