讲includes(),indexOf()

**## 讲includes(),indexOf()

简单的跟大家分享一些我对于includes(),indexOf()的了解。

我也是偶然的情况下发现了includes(),以前我只知道indeOf()。遇到了也就顺便了解一点。

两者工作性质都是查找数据是否存在该元素;要不然我也不会知道includes()。但是两者还是有一些区别的,我们先创建一个全局数组:

var arr = ['k','a','a','a',NaN,['e','f'],'b','c']

我们先简单的查找一个字符:

console.log(arr.includes('a')) //true
console.log(arr.includes('aa')) //false
console.log(arr.indexOf('a')) //1 
console.log(arr.indexOf('aa')) //-1 

(1)includes():若存在返回true 若不存在返回false,很直接的告诉你是否存在;

(2)indeOf():若存在返回下标 ,若不存在返回-1,不仅告诉该元素是否存在还顺带告诉你该元素下标,可以说indeOf()更倾向于满足开发人员需求吧(不准确,我只是没有词语形容)。

(3)includes()可以传两个参数code:要查找的元素和num:出现过几次(参数名自定义,我是为了方便讲解)大家回看下上面的数组

console.log(arr.includes('a',3)) 

字符a在数组中出现过3次,那么我第二参数可以写1,2或者3都会返回true,写其它都是返回false。第二参数我是没有实战运用过感觉比较鸡肋。
(4)两者都是只对简单数据类型的查找

 console.log(arr.includes(['e','f'])) //false
 console.log(arr.indexOf(['e','f'])) //-1

(5)两者都是采用=== 的操作符号进行比较的,不同之处在于对NaN的处理结果。js中NaN===NaN 返回时false,故而言之indexOf(NaN)是返回-1的;但是includes()不是这样的,它是可以查询到NaN的。

 console.log(arr.includes(NaN)) //true
 console.log(arr.indexOf(NaN)) //-1

本人公众号,平时也会分享一些前端知识,感兴趣的同学可以了解一下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
includesindexOf是数组和字符串中常用的方法。 indexOf方法用于查找指定元素在数组或字符串中的位置索引。如果找到了该元素,则返回元素的索引值;如果未找到该元素,则返回-1。indexOf方法可以接受一个可选的第二个参数,用于指定从哪个索引位置开始查找。 includes方法用于判断数组或字符串是否包含指定元素。如果包含该元素,则返回true;如果不包含该元素,则返回false。includes方法也可以接受一个可选的第二个参数,用于指定从哪个索引位置开始判断。 需要注意的是,indexOf方法不能匹配数组中的NaN,返回结果为-1;而includes方法可以匹配数组中的NaN,返回结果为true。而对于undefined,indexOf方法无法识别稀疏数组中的undefined(返回结果为-1),而includes方法可以识别稀疏数组中的undefined(返回结果为true)。 下面是一些具体的例子来说明它们的使用: 例子1:使用indexOf方法判断数组中是否包含某个元素 ```javascript var arr = [1, 2, 3, 4, 5]; var element = 3; var index = arr.indexOf(element); // index的值为2,表示元素3在数组中的位置索引为2 ``` 例子2:使用includes方法判断数组中是否包含某个元素 ```javascript var arr = [1, 2, 3, 4, 5]; var element = 3; var isIncludes = arr.includes(element); // isIncludes的值为true,表示数组中包含元素3 ``` 例子3:使用indexOf方法判断字符串中是否包含某个子字符串 ```javascript var str = "Hello, world!"; var subStr = "world"; var index = str.indexOf(subStr); // index的值为7,表示子字符串"world"在字符串中的位置索引为7 ``` 例子4:使用includes方法判断字符串中是否包含某个子字符串 ```javascript var str = "Hello, world!"; var subStr = "world"; var isIncludes = str.includes(subStr); // isIncludes的值为true,表示字符串中包含子字符串"world" ``` 总之,indexOf方法用于查找元素的位置索引,includes方法用于判断元素是否存在。两者都可以接受第二个参数来指定起始位置,但对于NaN和undefined的处理上有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值