千家信息网

ES6中includes()方法怎么用

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关ES6中includes()方法怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。includes()ES5中,我们常用数组的inde
千家信息网最后更新 2025年11月08日ES6中includes()方法怎么用

这篇文章将为大家详细讲解有关ES6中includes()方法怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

includes()

ES5中,我们常用数组的indexOf方法,检查是否包含某个值。indexOf方法有两个缺点,一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于 -1 ,表达起来不够直观。二是,它内部使用严格相当运算符( === )进行判断,这会导致对NaN的误判。

[NaN].indexOf(NaN)  // -1  includes使用的是不一样的判断算法,就没有这个问题。  [NaN].includes(NaN)  // true

Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。该方法属于 ES7 ,但 Babel 转码器已经支持。

[1, 2, 3].includes(2); // true  [1, 2, 3].includes(4); // false  [1, 2, NaN].includes(NaN); // true

该方法的第二个参数表示搜索的起始位置,默认为 0 。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为 -4 ,但数组长度为 3 ),则会重置为从 0 开始。

[1, 2, 3].includes(3, 3); // false  [1, 2, 3].includes(3, -1); // true

下面代码用来检查当前环境是否支持该方法,如果不支持,部署一个简易的替代版本。

const contains = (() =>  Array.prototype.includes      ? (arr, value) => arr.includes(value)      : (arr, value) => arr.some(el => el === value)  )();  contains(["foo", "bar"], "baz"); // => false

另外, Map 和 Set 数据结构有一个has方法,需要注意与includes区分。

Map 结构的has方法,是用来查找键名的,比如Map.prototype.has(key)、WeakMap.prototype.has(key)、Reflect.has(target, propertyKey)。

Set 结构的has方法,是用来查找值的,比如Set.prototype.has(value)、WeakSet.prototype.has(value)。

关于"ES6中includes()方法怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

方法 参数 数组 位置 篇文章 结构 支持 不够 更多 长度 检查 不错 实用 直观 两个 代码 内容 含义 字符 字符串 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宿城区自动网络技术诚信服务 夜幕数据库 怎么进入存储服务器的管理页面 招聘网站软件开发需求分析 关于金融软件开发的公司官网 上海智能软件开发销售厂 陕西定制软件开发公司 网络安全保障横幅 怎么管理软件开发人员 软件 plc软件开发 危害计算机网络安全罪 只有网络安全才有国家安全 谷粒公社互联网科技投资 工业机器人软件开发公司 30多岁想做软件开发 内蒙古技能人才实名制数据库 济南析云网络技术 金品服务器初始密码 战地5老是断开服务器连接 与web服务器安全有关的是 贵州遵义电信dns服务器云主机 祈福人数太多要去哪个服务器 厦门棋牌软件开发定制app 聊城智慧城管软件开发公司 数据库保护的内容有哪些问题 网络安全体系结构的 论坛设置验证 网络安全法 用友2008兼容数据库 广州伊秀网络技术有限公司 魔兽世界各服务器玩家排名
0