every方法检查数组所有元素是否满足条件,返回布尔值;空数组返回true;遇假值立即返回false;常用于全正数、全字符串等验证场景。

every 方法用于检查数组中**所有元素是否都满足指定条件**,返回布尔值(true 或 false),不改变原数组。
基本用法和语法
语法:arr.every(callback(element[, index[, array]])[, thisArg])
说明:
-
callback是每次遍历时执行的函数,必须返回一个真值或假值 - 只要有一个元素使
callback返回false(或假值),every立即停止遍历并返回false - 若所有元素都返回真值,或数组为空,结果为
true
常见使用场景示例
✅ 全是正数?
立即学习“Java免费学习笔记(深入)”;
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
[2, 4, 6, 8].every(x => x > 0); // true
✅ 全是字符串且长度大于 2?
['abc', 'def', 'xyz'].every(str => typeof str === 'string' && str.length > 2); // true
✅ 数组是否为空或全为 null/undefined?
[null, undefined, ''].every(x => x == null || x === ''); // true
注意边界情况
- 空数组调用
every总是返回true(逻辑上“所有零个元素都满足”成立) -
callback中显式返回0、''、false、null、undefined或NaN都会被当作“不满足”,导致整体返回false - 如果想检查“至少一个满足”,应改用
some();如需获取满足条件的元素,用filter()
配合 thisArg 和箭头函数的小技巧
若回调需要访问外部对象上下文,可传入 thisArg:
const obj = { min: 10 };
[12, 15, 20].every(function(x) {
return x >= this.min;
}, obj); // true
但更常用的是直接用箭头函数捕获外层 this 或变量,简洁不易出错:
const min = 10; [12, 15, 20].every(x => x >= min); // true

















