Array.every() 是否所有元素都满足条件
最后更新:2026-10-13
Array.every() 是否所有元素都满足条件
every 检查数组中是否所有元素都让回调返回真值,返回布尔值;一旦遇到假值立即停止遍历并返回 false。判断"存在一个"用 some。
| 分类 | 数组 |
|---|---|
| ES 版本 | ES5(2009) |
📝 语法
const 全部满足 = 数组.every((元素, 下标, 原数组) => 条件);
⚙️ 参数
| callback | 测试函数:任一元素返回假值即整体返回 false 并停止。 |
|---|
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
false
true
ℹ️ info 空数组调用 every 总是返回 true("全部满足"在无元素时形式上成立);some 空数组总是 false——两者互补。
💡 提示 every 遇到第一个假值就返回,比 filter(...).length === arr.length 高效得多。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| Array.every() | ✓ v1 | ✓ v12 | ✓ v1.5 | ✓ v3 | ✓ v10.5 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关数组方法
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qevery 和 some 的区别?
Aevery 要求全部满足才 true;some 只要有一个满足就 true。两者都短路求值。
Q空数组为什么返回 true?
A"所有元素都满足"在没有元素时不存在反例,数学上称为空真(vacuous truth)。实际业务里建议先判空。
Qevery 的回调必须有返回值吗?
A是——不返回(或返回 undefined)视为假值,every 会立刻返回 false。