find、findIndex、indexOf、lastIndex、includes 数组五种查询条件方法介绍

时间:2022-09-12 14:08:34

find() 方法返回数组中满足提供的测试函数的第一个元素的值。

语法: arr.find(callback[, thisArg])

findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。

语法: arr.findIndex(callback[, thisArg])

indexOf()方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。

语法: arr.indexOf(searchElement)

arr.indexOf(searchElement[, fromIndex = 0])

lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。

语法: arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])

includes() 方法用来判断当前数组是否包含某指定的值,如果是,则返回 true,否则返回 false。

语法: arr.includes(searchElement)

arr.includes(searchElement, fromIndex)

例一、find()方法 查找数组中第一个大于等于15的元素

1
2
3
4
var num = [10,3,5,15,100,1].find(function(elem, index){    
    return elem>=15;
});
console.log(num)     // 15

例二、findIndex() 查找数组中第一个大于等于15的元素的位置(索引)

1
2
3
4
var num = [10,3,5,15,100,1].findIndex(function(elem, index){    // 15
    return elem>=15;
});
console.log(num)     // 3

例三、indexOf () 查找5所在的位置,默认索引位置从零开始

1
2
3
[0,1,2,3,4,5,6].indexOf(5);    // 5    从索引0的位置往后查找
[0,1,2,3,4,5,6].indexOf(5,5);  // 5
[0,1,2,3,4,5,6].indexOf(5,10); // -1   从索引10的位置往后查找

例四、lastIndexOf() 查找5所在的位置,默认索引位置当前数组长度减一

1
2
3
4
[0,1,2,3,4,5,6].lastIndexOf(5);       // 5   从索引位置数组长度减一向前查找
[0,1,2,3,4,5,6].lastIndexOf(5, 6);    // 5
[0,1,2,3,4,5,6].lastIndexOf(5, 10);   // 5
[0,1,2,3,4,5,6].lastIndexOf(5, 1);    // -1   从索引1的位置向前查找

例五、includes

1
2
3
[0,1,2,3,4,5,6].includes(5);                 // true     从索引0位置往后查找是否存在5元素,是
[0,1,2,3,4,5,6].includes(10);                // false
[0,1,2,3,4,5,6].includes(5,10);              // false    从索引10位置往后查找是否存在10元素,否

find、findIndex、indexOf、lastIndex、includes 数组五种查询条件方法介绍的更多相关文章

  1. Java中的五种单例模式实现方法

    [代码] Java中的五种单例模式实现方法   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...

  2. Redis的五种数据类型的简单介绍和使用

    1.准备工作: 1.1在Linux下安装Redis  https://www.cnblogs.com/dddyyy/p/9763098.html 1.2启动Redis 先把root/redis的red ...

  3. PHP获取文件扩展名五种以上的方法和注释

    在PHP面试中或者考试中会有很大几率碰到写出五种获取文件扩展名的方法,下面是我自己总结的一些方法 $file = ‘需要进行获取扩展名的文件.php’; //第一种,根据.拆分,获取最后一个元素的值f ...

  4. redis 五种常见攻击方法

    如果需要大佬写好的脚本,可以直接去github上面搜 参考文章:https://www.cnblogs.com/wineme/articles/11731612.html    https://www ...

  5. 【八】Kubernetes 五种资源控制器详细介绍以及功能演示

    一.控制器说明 Pod 的分类: 自主式 Pod:该类型的 Pod 无论是异常退出还是正常退出都不会被创建,也就是说没有对应的管理者. 控制器管理的 Pod:该类型 Pod 在控制器的生命周期里,控制 ...

  6. 矩阵或多维数组两种常用实现方法 - python

    在python中,实现多维数组或矩阵,有两种常用方法: 内置列表方法和numpy 科学计算包方法. 下面以创建10*10矩阵或多维数组为例,并初始化为0,程序如下: # Method 1: list ...

  7. 五种实用DOM方法总结

    DOM:Document Object Model 文档对象模型 对象的三种类型:用户定义类型.内建对象.宿主对象 节点类型:元素节点.文本节点.属性节点 getElementById()方法: 将返 ...

  8. JSP页面的五种跳转方法

    ①RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Se ...

  9. Redis的五种数据类型及方法

    字符串string: 字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据货Json对象描 ...

随机推荐

  1. Android中获取选择图片与获取拍照返回结果差异

    导语: 如今的安卓应用在选择图片的处理上大多合并使用拍照和从相册中选择这两种方式 今天在写一个这样的功能时遇到一个尴尬的问题,同样是拍照获取图片功能,在不同手机上运行的效果不一样,下面是在某型手机上测 ...

  2. range(start,end,step)与xrange(start, stop[, step])

    >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> xrange(10) xrange(10) >>&gt ...

  3. left join 取一条数据

    产品生产过程中要记录产品在制作过程中的不良历史,即使在一个工序,也可以产生多条不良历史记录,所有的不良信息保存在B表中.假设产品在打包工序,存放打包工序成品参数记录的表A,数据是唯一的.但在打包过程中 ...

  4. uums

    http://blog.csdn.net/hudon/article/details/1506042 http://www.cnblogs.com/biakia/p/4779655.html http ...

  5. zookeeper 事务日志

    前面提到,在zookeeper server的配置文件zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录,这个事务日志类似于下面这样的文件: 这个文件是一个二进制 ...

  6. 使用boost.python封装C++库

    使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准 ...

  7. OpenLiveWriter.exe已停止工作---解决办法

    一.起因 在win10的系统中成功的安装了OpenLiveWriter,但是在家里win7的电脑上装不上.点击 OpenLiveWriterSetup.exe的安装包后出现 OpenLiveWrite ...

  8. linux文件系统扩展属性

    翻译自man手册,水平有限,有错还望不吝指出.... 扩展属性是与文件和目录相关的name:value对,用来提供文件系统的一些附加功能,例如ACL.对文件或是目录拥有读权限的用户可以看到其扩展属性. ...

  9. Python基础【day03】:文件操作(六)

    一.概述 我们工作中需要经常操作文件,下面就讲讲如何用Python操作文件 1.文件操作的流程: 打开文件,得到文件句柄赋值给一个变量 通过文件句柄,对文件进行操作 关闭文件 二.入门 1.语法 op ...

  10. c++编程思想里面的错误(可能c++标准变了,所以以前的东西没有更新)

    第一卷  第五章 5.3友元 下面的代码是<c++编程思想>里面的代码, struct X; struct Y{ void f(X*); }; struct X{ private: int ...