every方法检查数组所有元素是否都满足条件,返回布尔值:全满足返回true,任一不满足返回false;空数组默认返回true;不修改原数组。

every 方法用于检查数组中**所有元素是否都满足指定条件**,返回布尔值:全部为真才返回 true,只要一个不满足就返回 false。
基本用法和语法
调用方式:arr.every(callback(element[, index[, array]])[, thisArg])
-
callback是每次遍历执行的函数,必须返回真值或假值 - 只要某次回调返回
false(或假值),every立即停止遍历并返回false - 空数组默认返回
true(逻辑上“所有零个元素都满足”成立)
常见校验场景示例
检查是否全为正数:
[2, 5, 8, 10].every(n => n > 0); // true [2, -1, 8].every(n => n > 0); // false
检查是否全为字符串且非空:
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
立即学习“Java免费学习笔记(深入)”;
['a', 'hello', 'x'].every(s => typeof s === 'string' && s.length > 0); // true ['a', '', 'x'].every(s => typeof s === 'string' && s.length > 0); // false
检查对象数组是否都包含某个属性且值合法:
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 }
];
users.every(u => u.name && typeof u.name === 'string' && u.age >= 18); // true
注意边界情况
- 数组为空时,
[].every(() => false)返回true—— 这是设计行为,不是 bug - 回调函数中若抛出错误,
every会立即中断并把错误向上抛出 - 不修改原数组,纯函数式操作
- 无法直接获取哪个元素失败;如需定位,可用
findIndex配合条件
和 some 的对比记忆
every 类似“逻辑与(&&)”:全真才真;some 类似“逻辑或(||)”:一真即真。
[1, 2, 3].every(x => x < 5); // true [1, 2, 3].some(x => x > 2); // true(3 > 2)

















