indexOf与includes的区别
:点上面关注免费学习前端知识!
自从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的区别相关推荐
- lastIndexOf()和indexOf()的区别
java中lastIndexOf()和indexOf()的区别 indexOf和lastIndexIf都是索引文件 indexOf是查某个指定的字符串首次出现的位置(从前往后查) lastIndexO ...
- javascript中indexOf与search的区别(详解)
1.indexOf方法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到返回-1. 语法: stringObject.indexOf(searchvalue,fr ...
- js 重新梳理 1:indexOf与serch 的区别
IndexOf()方法是用来判断一个字符串是否存在于一个更长的字符串中.从长字符串左端到右端来搜索,如果存在该子字符串就返回它所处的位置(即索引).如果在被搜索的字符串没有找到要查找的字符串返回-1. ...
- indexOf和lastIndexOf的区别
indexOf和lastIndexOf的概念 一:两者的概念 1.indexOf:报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. 2.lastIndex ...
- js成员检查方式in、indexOf、includes、inArray
定义用于测试的列表和对象 let list = ["pig", "dog", "cat"];let obj = {"name&qu ...
- js数组中indexOf和findIndex的区别
1. indexOf 语法 arr.indexOf(searchElement[, fromIndex]) 参数 searchElement 要查找的元素 fromIndex (可选 ) 开始查找 ...
- 【学习笔记】JavaScript 寻找字串的方法:includes/indexOf/search/match
在处理数据时,查找字符串是一种常见的操作,JavaScript 提供不同的方法来搜索字符串. 其中,最常用的方法包括:search.indexOf.includes 和 match,能够辨别字串里是否 ...
- JavaScript中的 inludes 和 indexOf 方法 | 判断字符串或数组中是否存在对应的元素| 相同点与不同点 | 代码详解
目录 JavaScript中的inludes和indexOf方法 1.数组中的includes和indexOf方法比较 1.1 函数返回值的不同 1.2 函数第二个参数--开始查找的位置 1.3 in ...
- 【ES7(2016)】Array.prototype.includes()
在 ES7 之前想判断数组中是否包含一个元素,基本可以这样写: let array1 = [1,2,3,4,5] console.log(array1.find(function(item) {ret ...
最新文章
- java.lang.IllegalArgumentException: columnNames.length = 3, columnValues.length = 4
- linux apache 文件服务器,Linux下搭建Apache服务器全过程详解
- @Mapper和@Repository的区别
- 【中级软考】什么是“敏捷过程的开发方法(敏捷方法agile)“(极限编程XP、特征驱动开发FDD、并列争球法Scrum、水晶法Crystal、开放源码法、自适应软件开发 ASD方法)
- Python入门学习---第四天
- 哔哩哔哩_哔哩哔哩,危!!!
- System V IPC之消息队列
- realloc 用方法
- OpenCV与图像处理学习一——图像基础知识、读入、显示、保存图像、灰度转化、通道分离与合并
- 吴恩达深度学习 —— 4.5 搭建深层神经网络块
- Java thread.join
- 学习web前端还是UI?先了解Web前端和UI的区别是什么?在选择
- ubuntu自定义分辨率
- excel首行空不能导入access_EXCEL数据无法导入ACCESS的解决办法
- python手机版做小游戏代码大全-20行python代码的入门级小游戏的详解
- Java开发webservice接口
- 淘宝上买东西,怎么买最便宜?
- MTF SFR 简介
- 网站建设中如何打造最优seo优化页面
- 仿微信翻译----本地短信翻译。
热门文章
- 蚂蚁集团回应两地暂缓上市;​iPhone 有望采用侧面指纹识别;Pyston v2 发布|极客头条
- 攻克机器学习硕士学位,我的那些年与必备技能!
- 1秒替换视频背景,阿里AI获CVPR 2020四项世界冠军
- 为什么这款 CPU 在亚马逊上卖得最火?
- 阿里“去 IOE”十二年,弹性计算如何二次去 I 和 E?
- 惊呆了,竟然可以用这种方式秒建 Redis 集群?
- Web 爬虫现已合法?
- 倒计时 2 天!「2019 嵌入式智能国际大会」全日程大公开!
- 加密货币的天堂? 盘点 7 大对加密货币免税的国家!
- 太惨!学Python方法用错,直接从入门到放弃!