every是javascript数组方法,用于检测所有元素是否满足条件,全满足返回true,任一不满足则短路返回false;空数组调用恒为true。

every 是 JavaScript 数组的内置方法,用于检查数组中**每一个元素**是否都满足给定的条件。只要有一个元素不满足,就立即返回 false;全部满足才返回 true。
基本用法和语法
every 接收一个回调函数作为参数,该函数对每个元素执行一次,返回布尔值:
arr.every(callback(element[, index[, array]])[, thisArg])- callback:必需,每次遍历时调用的函数,需返回真值或假值
- element:当前正在处理的元素(必传)
- index:可选,当前元素的索引
- array:可选,原数组本身
-
thisArg:可选,指定 callback 中
this的值
常见验证场景示例
✅ 检查是否全为正数:
[2, 4, 6, 8].every(x => x > 0) // true[2, -1, 6].every(x => x > 0) // false
✅ 检查字符串数组是否都非空:
['a', '', 'c'].every(str => str.length > 0) // false
✅ 检查对象数组是否都包含某个属性且符合要求:
const users = [{age: 25}, {age: 30}, {age: 28}];users.every(u => u.age >= 18) // true
注意短路行为和空数组
every 在遇到第一个 false 结果时立刻停止遍历,不会继续检查后续元素——这叫“短路”。
另外,**空数组调用 every 总是返回 true**,因为“没有元素违反条件”在逻辑上成立(类似数学中的全称命题默认成立):
[1, 2, 3].every(x => { console.log(x); return x [1, 6, 3].every(x => { console.log(x); return x
结合其他方法增强实用性
经常和 Array.isArray、类型判断或数据清洗配合使用:
- 先确保是数组:
Array.isArray(data) && data.every(x => typeof x === 'number') - 过滤后验证:
arr.filter(Boolean).every(x => x > 0)(跳过 falsy 值再判断) - 与
some对比:every 全满足才 true;some 有一个满足就 true
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











