使用includes

includes()方法,在字符串中使用时,相当于indexOf(),查询成功返回true,失败返回false

JS代码

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

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

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

[1, 2, 3].includes(3, 3); // false[1, 2, 3].includes(3, -1); // true
  • 3.关于 indexOf 语法
if (arr.indexOf(el) !== -1) {// ...
}

indexOf方法有两个缺点:

缺点 描述 HTML
一是不够语义化 '它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于 -1 ,表达起来不够直观。 代码如下
二是,它内部使用严格相当运算符( === )进行判断 这会导致对NaN的误判 代码如下
[NaN].indexOf(NaN)// -1includes使用的是不一样的判断算法,就没有这个问题。[NaN].includes(NaN)// true

includes的作用相关推荐

  1. ES7和ES8的了解

    es7新特性 Es7在ES6的基础上添加了三项内容: *求幂运算符 (**) Array.prototype.includes()方法.函数作用域中严格模式的变更 Array.prototype.in ...

  2. 数组方法大全ES5+ES6

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. 使用 Array 构造函数 2. 使用数组字面量表示法 数组原型方法 1. join() 2.push()和pop() ...

  3. 数据类型_array_es6新增的数组遍历方法

    数组遍历 [1]map方法 [2]filter方法 [3]forEach方法 [4]some方法 [5]every方法 [6]findIndex方法 [7]includes方法 [8]reduce方法 ...

  4. 使用chatgpt写一个划词翻译的浏览器插件

    最近在网上流行的chatgpt,实在是太火了,好多人在使用,而且它的用处实在是太丰富了,能帮助我们解决很多问题,就比如说:编程,生成图片,翻译等.太丰富了.我看网上很多人都在说,它可以帮助人开发软件, ...

  5. ES6查漏补缺【数组的扩展】

    我的ES6 数组的扩展 1.先简单复习一下ES5中的数组方法 2.静态方法 ES5:Array.isArray() ES6:array.from() ES6:array.of() 3.数组实例方法 i ...

  6. php中mvc控制器作用,理解PHP中的MVC编程之控制器

    简单来讲,控制器的作用就是接受请求.它使用获取的方法,在这里是通过URI,载入一个功能模块来刷新或者提交一个表述层.控制器将使用$_GET自动全局变量来判断载入哪一个模块. 一个请求的例子,看起来像这 ...

  7. c 中ajax不起作用,Jquery AJAX調用:$(this)在成功后不起作用

    I am wondering why $(this) does not work after a jQuery ajax call. 我想知道為什么$(this)在jQuery ajax調用之后不起作 ...

  8. wince下sources\sources.cmn\Makefile.def的相关作用

    1:首先是Makefile.def: ---------------------------------------- 在所有驱动的makefile中有!INCLUDE $(_MAKEENVROOT) ...

  9. maven的pom.xml中profiles的作用

    1.profiles是什么?有什么作用 在maven构建的项目都存在一个pom.xml的项目对象模型配置文件,用于约束项目(如:jar包管理.构建管理等).profiles是pom.xml中的一个配置 ...

最新文章

  1. eclipse工程设置项目jre
  2. Spark任务提交源码
  3. mybatis更新Blob类型字段要用updateByPrimaryKeyWithBLOBs
  4. armv7 cortex a系列编程手册_AWTK能为现代GUI编程带来何种改变?
  5. BBC:大数据带来的弊病?近因效应
  6. linkhashmap原理_LinkedHashMap 用法
  7. 执行Linux脚本出错,出现No Such file or directory异常
  8. lion.ec开源框架简介(原创)
  9. 利用正则表达式 替换字符串中多个 URL
  10. ab压力测试_使用ab来一次压力测试之旅
  11. Bentley.Hammer.XM.v08.09.400.34 1CD(水锤和瞬态分析软件)好用版\
  12. 行业领先!5G投资1100亿! 20个中国移动5G成功案例分享( 业绩+案例 )
  13. php在线编辑gif图片,gif动态图片制作,在线制作 GIF动画工具
  14. Python编程从入门到实践 -----第4章、操作列表(课后习题答案)
  15. 视频批量添加透明水印,必须用这个方法
  16. 计算机网络考研、招聘面试问题总结
  17. display: flex属性介绍
  18. Hackable Projects (可拓展的项目)
  19. HDU 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
  20. 一个程序员对另一个程序员的忠告

热门文章

  1. C++ --取出网址中域名和协议名
  2. define的函数用法
  3. graphql的调用
  4. jquery ajaxSubmit 异步提交
  5. MySQL ERROR 1064 (42000)
  6. 敏涵控股集团董事长刘敏:唱响敏涵之歌 打造世界敏涵
  7. Android免费的导出微信朋友圈文字和图片的工具
  8. 怎么看计算机配件型号,如何看硬件参数
  9. iOS游戏开发之使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏(教程含源码)
  10. 安装windows与Ubuntu双系统,并使用GRUB启动引导器