every方法检测数组每个元素是否都满足条件,全部满足返回true,否则false;空数组返回true;需注意回调函数必须明确返回值,且不修改原数组。

every 方法用于检测数组中的**每一个元素是否都满足给定的条件**,返回布尔值:全部满足返回 true,只要有一个不满足就返回 false。
基本用法和语法
调用方式:array.every(callback(element, index, array), thisArg)
-
callback是必需的函数,接收三个参数:当前元素、索引、原数组(常用前两个) - 只要有一个元素让
callback返回false或假值(如0、''、undefined),every立即停止遍历并返回false - 空数组调用
every总是返回true(逻辑上“所有零个元素都满足”成立)
常见使用场景示例
检查数字数组是否全为正数:
[2, 4, 6, 8].every(n => n > 0); // true<br>[2, -1, 6].every(n => n > 0); // false
检查字符串数组是否全非空:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
['a', 'hello', 'x'].every(str => str.length > 0); // true<br>['a', '', 'x'].every(str => str.length > 0); // false
检查对象数组是否全部有某个属性且符合要求:
const users = [{age: 25}, {age: 30}, {age: 28}];<br>users.every(u => u.age >= 18); // true
注意点和易错细节
- 回调函数中必须有明确的返回值;若忘记
return或返回undefined,等价于false,导致结果意外为false - 不修改原数组,只做判断
- 与
some()相反:后者是“只要一个满足就返回true” - 不能直接链式调用
map或filter后的结果再用every——要确保操作后仍是数组,且元素类型符合预期
配合其他方法增强表达力
比如先过滤再判断:
// 检查所有偶数是否大于 10<br>[2, 4, 6, 12].filter(n => n % 2 === 0).every(n => n > 10); // false<br>// 更合理写法:直接在 every 中判断复合条件<br>[2, 4, 6, 12].every(n => n % 2 === 0 && n > 10); // false
也可结合解构或箭头函数简化:
const arr = [{valid: true}, {valid: true}];<br>arr.every(({valid}) => valid); // true
不复杂但容易忽略
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










