点上面关注免费学习前端知识!


自从ES6部署includes方法,好像indexOf就失去了它的用武之地了,到底indexOf有什么不足,这篇文章就要来介绍这两个方法之间的区别。

看一个函数,先看他们的返回值,一个是返回数值型的,一个是返回布尔型的,所以在if条件判断的时候includes要简单得多,而indexOf 需要多写一个条件进行判断。

var ary = [1];

if (ary.indexOf(1) !== -1) {

console.log("数组存在1")

}

if (ary.includes(1)) {

console.log("数组存在1")

}

如果数组中有NaN,你又正好需要判断数组是否有存在NaN,这时你使用indexOf是无法判断的,你必须使用includes这个方法。

var ary1 = [NaN];

console.log(ary1.indexOf(NaN))//-1

console.log(ary1.includes(NaN))//true

当数组的有空的值的时候,includes会认为空的值是undefined,而indexOf不会。

var ary1 = new Array(3);

console.log(ary1.indexOf(undefined));//-1

console.log(ary1.includes(undefined))//true

总结,到底什么时候使用includes什么时候使用indexOf还是要看情况来决定,如果你想要查找某个元素在数组中的位置,你就用indexOf,如果你只是想知道数组中是否存在某个元素,你用includes方法比较合适的。

看前端技术文章,就在Web前端精髓

indexOf与includes的区别相关推荐

  1. lastIndexOf()和indexOf()的区别

    java中lastIndexOf()和indexOf()的区别 indexOf和lastIndexIf都是索引文件 indexOf是查某个指定的字符串首次出现的位置(从前往后查) lastIndexO ...

  2. javascript中indexOf与search的区别(详解)

    1.indexOf方法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到返回-1. 语法: stringObject.indexOf(searchvalue,fr ...

  3. js 重新梳理 1:indexOf与serch 的区别

    IndexOf()方法是用来判断一个字符串是否存在于一个更长的字符串中.从长字符串左端到右端来搜索,如果存在该子字符串就返回它所处的位置(即索引).如果在被搜索的字符串没有找到要查找的字符串返回-1. ...

  4. indexOf和lastIndexOf的区别

    indexOf和lastIndexOf的概念 一:两者的概念 1.indexOf:报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. 2.lastIndex ...

  5. js成员检查方式in、indexOf、includes、inArray

    定义用于测试的列表和对象 let list = ["pig", "dog", "cat"];let obj = {"name&qu ...

  6. js数组中indexOf和findIndex的区别

    1. indexOf 语法 arr.indexOf(searchElement[, fromIndex]) 参数 searchElement  要查找的元素 fromIndex (可选 )  开始查找 ...

  7. 【学习笔记】JavaScript 寻找字串的方法:includes/indexOf/search/match

    在处理数据时,查找字符串是一种常见的操作,JavaScript 提供不同的方法来搜索字符串. 其中,最常用的方法包括:search.indexOf.includes 和 match,能够辨别字串里是否 ...

  8. JavaScript中的 inludes 和 indexOf 方法 | 判断字符串或数组中是否存在对应的元素| 相同点与不同点 | 代码详解

    目录 JavaScript中的inludes和indexOf方法 1.数组中的includes和indexOf方法比较 1.1 函数返回值的不同 1.2 函数第二个参数--开始查找的位置 1.3 in ...

  9. 【ES7(2016)】Array.prototype.includes()

    在 ES7 之前想判断数组中是否包含一个元素,基本可以这样写: let array1 = [1,2,3,4,5] console.log(array1.find(function(item) {ret ...

最新文章

  1. java.lang.IllegalArgumentException: columnNames.length = 3, columnValues.length = 4
  2. linux apache 文件服务器,Linux下搭建Apache服务器全过程详解
  3. @Mapper和@Repository的区别
  4. 【中级软考】什么是“敏捷过程的开发方法(敏捷方法agile)“(极限编程XP、特征驱动开发FDD、并列争球法Scrum、水晶法Crystal、开放源码法、自适应软件开发 ASD方法)
  5. Python入门学习---第四天
  6. 哔哩哔哩_哔哩哔哩,危!!!
  7. System V IPC之消息队列
  8. realloc 用方法
  9. OpenCV与图像处理学习一——图像基础知识、读入、显示、保存图像、灰度转化、通道分离与合并
  10. 吴恩达深度学习 —— 4.5 搭建深层神经网络块
  11. Java thread.join
  12. 学习web前端还是UI?先了解Web前端和UI的区别是什么?在选择
  13. ubuntu自定义分辨率
  14. excel首行空不能导入access_EXCEL数据无法导入ACCESS的解决办法
  15. python手机版做小游戏代码大全-20行python代码的入门级小游戏的详解
  16. Java开发webservice接口
  17. 淘宝上买东西,怎么买最便宜?
  18. MTF SFR 简介
  19. 网站建设中如何打造最优seo优化页面
  20. 仿微信翻译----本地短信翻译。

热门文章

  1. 蚂蚁集团回应两地暂缓上市;​iPhone 有望采用侧面指纹识别;Pyston v2 发布|极客头条
  2. 攻克机器学习硕士学位,我的那些年与必备技能!
  3. 1秒替换视频背景,阿里AI获CVPR 2020四项世界冠军
  4. 为什么这款 CPU 在亚马逊上卖得最火?
  5. 阿里“去 IOE”十二年,弹性计算如何二次去 I 和 E?
  6. 惊呆了,竟然可以用这种方式秒建 Redis 集群?
  7. Web 爬虫现已合法?
  8. 倒计时 2 天!「2019 嵌入式智能国际大会」全日程大公开!
  9. 加密货币的天堂? 盘点 7 大对加密货币免税的国家!
  10. 太惨!学Python方法用错,直接从入门到放弃!