Array.includes() 判断是否包含某元素
最后更新:2026-09-09
Array.includes() 判断是否包含某元素
includes 判断数组是否包含某个值,返回 true 或 false。比 indexOf !== -1 语义清晰,还能正确识别 NaN。
| 分类 | 数组 |
|---|---|
| ES 版本 | ES2016(2016) |
📝 语法
数组.includes(要查找的值, 起始下标);
⚙️ 参数
| searchValue | 要查找的值,使用 SameValueZero 算法(行为类似全等,但 NaN 等于 NaN)。 |
|---|---|
| fromIndex | 可选。从此下标开始查找,负数表示从末尾倒数。 |
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
true
false
true
-1
false
💡 提示 includes 是判断存在性的首选——比 indexOf !== -1 更短且能识别 NaN。
ℹ️ info includes 使用 SameValueZero 算法:+0 与 -0 相等,NaN 与 NaN 相等,与 Object.is 唯一差异是 +0/-0。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| Array.includes() | ✓ v47 | ✓ v14 | ✓ v43 | ✓ v9 | ✓ v34 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关数组方法
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qincludes 和 indexOf 怎么选?
A只要回答有没有用 includes;需要知道位置(如替换、删除)才用 indexOf。
Qincludes 能找对象吗?
A只能按引用找同一个对象。按属性找对象数组里的元素请用 some(u => u.id === 3)。
Q第二个参数 fromIndex 有什么用?
A从指定下标开始向后找,负数从末尾倒数。例如 list.includes(item, list.length - 3) 只检查最后 3 项。