includes与indexOf
indexOf(a,b)是在es6之前常用的判断数组/字符串内元素是否存在的api,接收两个参数,第一个a代表要被查找的元素,必填。第二个代表从数组的某个坐标开始查找,可选
在数组中
通过indexOf,会返回元素在array中的位置,不存在就返回-1
const a = [1, 2, 3]
let b = 2
console.log(a.indexOf(b) !== -1) // true
console.log(a.indexOf(b,2) !== -1) // false
复制代码
在字符串中
与数组中比较区别主要有两点:
- 字符串使用indexOf第二个参数不接受-1
const a = [1, 2, 3]
let b = 2
console.log(a.indexOf(b,-1) !== -1) // false
复制代码
- 字符串使用第一个参数,会默认转成字符串
const a = ["1", "2", "3"]
const b = "123"
let c = 2
console.log(a.indexOf(c) !== -1) // false
console.log(b.indexOf(c) !== -1) // true
复制代码
includes仅能用来判断元素是否存在。其用法与indexOf类似,都能作用在字符串中,同样在字符串中includes不接受-1坐标并且能默认转换字符串。但是,与indexOf最大的区别在于:
1.能过识别NaN是否存在数组中
const a = [NaN,NaN,NaN]
console.log(a.indexOf(NaN) !== -1) // false
console.log(a.includes(NaN) !== -1) // true
复制代码
2.判断稀疏数组内元素
const a = [,,NaN]
console.log(a.indexOf(undefined) !== -1) // false
console.log(a.includes(undefined) !== -1) // true
复制代码
includes与indexOf的更多相关文章
- from、includes、indexOf
from.includes.indexOf:https://blog.csdn.net/j59580/article/details/53897630?utm_source=blogxgwz1 语法 ...
- JavaScript数组方法--includes、indexOf、lastIndexOf
我们继续吧! includes:includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false.还是先看看includes的用法吧 var ar ...
- Includes() vs indexOf() in JavaScript
碰到一个问题, 部分机器网页数据源不正常, 简单排查发现是使用了较新的Array.includs 方法. 查了下兼容性, chrome 需要47版本以后支持, 客户机果然是很久的43版本. 用Arra ...
- indexOf与includes的区别
indexOf与includes的区别:https://blog.csdn.net/gtLBTNq9mr3/article/details/78700118 includes和indexOf相比较:相 ...
- JavaScript 字符串实用常操纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript 字符串操作
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript 字符串常用操作
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- Angular源代码学习笔记-原创
时间:2014年12月15日 14:15:10 /** * @license AngularJS v1.3.0-beta.15 * (c) 2010-2014 Google, Inc. http:// ...
- JavaScript 字符串常用操作纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
随机推荐
- JDK+maven安装
JDK+Maven安装汇总: 1.JDK1.8: 链接:https://pan.baidu.com/s/1d04iZagXqzG-DoGV5oUFug 提取码:bd1m Maven3.6.3: 链接: ...
- grub2手动引导linux
仅需要三个命令 1.set root=(hd*,gpt*) hd*为系统所在磁盘,从0开始: gpt为磁盘分区表格式,*为第几分区,mbr分区表为msdos*: 2.linux /boot/vmlin ...
- python通俗讲解闭包
通俗理解闭包 先来看看什么是闭包吧 闭包是引用了自由变量的函数.这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外.所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合 ...
- 我对KMP算法的理解
KMP算法的核心在于失配回溯表——pnext,相比于通过逐个比较来匹配字符串的朴素算法,KMP通过对模式串的分析,可以做到比较指针在主串上不回溯,一直向前. 1. KMP如何实现不回溯? 对于主串 t ...
- "图片组件"组件:<pic> —— 快应用组件库H-UI
 <import name="pic" src="../Common/ui/h-ui/media/c_pic"></import> & ...
- "按钮"组件:<h-button> —— 快应用组件库H-UI
 <import name="h-button" src="../Common/ui/h-ui/basic/c_button"></impo ...
- "字体图标"组件:<icon> —— 快应用组件库H-UI
 <import name="icon" src="../Common/ui/h-ui/basic/c_icon"></import> ...
- Python设计模式(9)-外观模式
# /*外观模式:为外界调用提供一个统一的接口,把其他类中需要用到的方法提取# * 出来,由外观类进行调用.然后在调用段实例化外观类,以间接调用需要的# * 方法.这种方式和代理模式有异曲同工之妙.然 ...
- Idea离线安装plugins插件 如Lombok
由于公司不允许使用外网,之前用的idea 15 安装了一次.但是idea15的提示不够友好,今天升级idea2017.3.2,同样又需要安装,那就写个教程吧. 网上其他的安装教程不通用,也是针对不同i ...
- AJ学IOS(34)UI之Quartz2D画画板的实现
AJ分享,必须精品 效果: 实现过程: 首先用storyboard搭建界面,没有什么好说的. 然后就是注意的功能了,这里用了触摸事件来搭配Quartz2D的路径来画画. 思路就是把路径放到数组中 @p ...