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。

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
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 项。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏