Array.some() 是否存在满足条件的元素
最后更新:2026-09-09
Array.some() 是否存在满足条件的元素
some 检查数组中是否至少有一个元素让回调返回真值,返回布尔值;找到即停止遍历。全部满足用 every。
| 分类 | 数组 |
|---|---|
| ES 版本 | ES5(2009) |
📝 语法
const 有匹配 = 数组.some((元素, 下标, 原数组) => 条件);
⚙️ 参数
| callback | 测试函数:任一元素返回真值即整体返回 true 并停止。 |
|---|
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
true
true
💡 提示 some 找到一个就停止——比 filter(...).length > 0 高效,语义也更清晰。
ℹ️ info 空数组调用 some 总是返回 false(没有任何元素满足);every 空数组总是 true——两者互补的数学性质。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| Array.some() | ✓ v1 | ✓ v12 | ✓ v1.5 | ✓ v3 | ✓ v10.5 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关数组方法
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qsome 和 every 的区别?
Asome 是有一个满足就 true;every 是全部满足才 true。两者都是短路求值。
Qsome 能用来判断数组包含某对象吗?
A能:users.some(u => u.id === 3)——按属性判断存在性,比 includes 的引用比较实用得多。
Qsome 的回调必须有返回值吗?
A是——不返回(或返回 undefined)视为 false。漏写 return 会让 some 永远返回 false。