find()和findIndex()函数详解

今天我在拿数组中的存在的某一项索引时,我用了filter(),结果折腾了半天还是没求出索引,结果询问同事,他说你直接用findIndex()就可以了,一语点醒梦中人,可能平时ES6的这些函数用的少,根本就想不起来用这个。find直接就找出这项了,何必用filter过滤拿呢?

话不多说,下面总结一下这2个方法~

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素(查找符合条件的第一个元素),找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素(查找符合条件的第一个元素),找到就返回元素的位置,找不到就返回-1。
下面通过实例详解

find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

他们的都是一个查找回调函数。

查找函数有三个参数。

value:每一次迭代查找的数组元素。

index:每一次迭代查找的数组元素索引。

arr:被查找的数组。

假如我们给vue组件绑定了一个班级的学生列表数据。其数据结构可能如下格式,如果你想从以下数据中查找出姓名为李四的学生的信息。

var stu=[
{name:'张三',gender:'男',age:25
},
{name:'李四',gender:'男',age:28
},
{name:'王五',gender:'男',age:27
}]

这个时候肯定有些人想到了使用循环来查找,当然这是一种办法,也可以解决实际需求但是我们需要一种更为高效的方法。其实js的数组操作方法真的非常非常多,多的你一时间感觉不知如何是好。那么我们就这个场景来看看常用的方法吧。

关于find()的使用

关于find()是用来干什么的呢?

关于find()是干什么的我们来看看来自mozilla的 MDN Web docs的原文吧

在这里插入图片描述

如何使用find()方法
既然需要测试函数


function getStu(element){return element.name =='李四'
}
stu.find(getStu)
//返回结果为 {name:"李四",gender:'男',age=28}

下图为在线测试,有图有真相
在这里插入图片描述

结合es6的改进(箭头函数)

stu.find(element=>element.name=='李四')  
//返回的是{name:"李四",gender:'男',age=28}
stu.findIndex(element=>element.name=='李四')
//返回的是索引下标:1

同样有图有真相:
在这里插入图片描述

es6为js创造了很多可能,而且很多浏览器对es6的支持程度已经非常好了,要想起来用ES6的新特性啊~~

关于ES6箭头函数返回值的问题

 const fun1 = ()=>1+2 //执行后结果 3const fun2 = () => {1+2} //执行后结果 undefinedconst fun3 = () => {return 1+2 } // 执行后结果 3

总结:如果箭头后有{ },则{}内有return 则返回return后的值,没有 则返回undefined
如果箭头后没有{ }如第一种简写写法,其实是return 1+2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350923.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

linux find -size参数,Linux find 常用命令

Linux find 常用命令 (2012-10-24 11:32:52) 标签: linux shell 说明: 以下内容,若标注在 [ ] 中括号内的均可省略,除非做特别说明。 但严格来说,若缺少 [ ] 中括号内的内容,在命令呈现的语义和返回结果上&…

二、linux find命令详解

目录 2. find【擅长在目录下找文件】 2.1 常用查询选项option 2.1.1 -name:根据名称匹配 2.1.2 -iname:忽略文件名称大小写 2.1.3 -user:根据所属用户组进行查询 2.1.4 -type:根据文件类型进行查找 2.1.5 -size:根据…

Linux的find命令

find 查找命令 -name 查找某个文件,文件名为name 例如: find /etc/ -name passwd 查找/etc/目录下名为passwd的文件并输出 find /etc -name *.conf 查找/etc/目录下所有以.conf结尾的文件 -user name 查找某个文件所有人为use…

Linux 命令----find:查找指定的文件

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

Linux下find命令详解

find命令格式: find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】 find命令的参数: 1)path:要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 2&…

LinuxFinal

综合实验 tomcat下载安装 Apache Tomcat - Apache Tomcat 8 Software Downloads 进入上方链接下载tomcat,并上传至服务器。 mkdir /usr/local/tomcat8 # 创建tomcat文件夹 cd /usr/local/tomcat8 # 进入此目录,上传tomcat压缩包 tar -zxvf apache-tom…

Linux文件查找find

目录 前言 查找命令 命令演示 1.which:命令查找 2.locate命令 3.find命令(主要使用这个命令进行查找文件) 1)语法 2)find的用法介绍 按文件名查找 手动写入指定大小数据到文件内,介绍一下dd命令。…

Linux下的find指令

一、概述: 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于linux来说find是一条很重要的命令。linux下面的find指令用于在目录结构中搜索文件,并执行指定的操作。它提供了相当多的查找条件,功能很强大。…

linux万能查询命令——find命令

find命令用来寻找文件或目录,功能非常强大,可以在查找到的文件上去执行命令,准确查找,遍历整个目录下的所有文件,可以对查询到的文件进行指定的动作,即查看、删除、移动等操作。 目录 1、常用查找命令 2…

linux find命令

一、find命令语法格式: find [路径] [选项] [操作] 选项参数对照表: 三、常用选项 -name  查找 /etc 目录下以 conf 结尾的文件,文件名区分大小写,例如:find /etc -name *.conf -iname 查找当前目录下所有文件名…

Linux - find命令详解

一、作用 find是搜索匹配条件的文件。 二、语法 用法:find[PATH][option][-print] PATH:目录路径,也可以使用“/ 根目录” option参数:   -name filename #查找名为filename的文件   -perm #按执行权限来查找   -user username #按文…

Linux中find命令用法大全

Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日期,大小…

Linux命令之find命令

一、命令简介 Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find 命令有非常…

Linux命令之查找文件find

概述 find 命令可以在目录层次结构中搜索符合指定条件的文件或目录,并且可以它们执行指定的操作。而搜索条件可以是文件权限、文件类型、日期、大小等。 语法 该命令的语法如下: # find 命令从指定的起始目录开始,递归地搜索其各个子目录&…

项目经理高效时间管理6大原则及技巧

1、 ( 10 2 ) * 5法则 项目经理以10分钟为一个周期,每个周期休息2分钟,这样1小时重复5次,就可以保障我们目标明确但精神和身体上的精力不会透支。 10分钟周期内,需要全心全意做一件事,进入全身心投入工作状态&#xf…

TDEngine3.0 环境安装、配置及使用经验总结

TDEngine3.0 环境安装、配置及使用经验总结 一、TDengine 介绍二、TDengine的下载三、TDengine Server安装及配置3.1 安装3.2 taos的参数配置3.3 启动3.4 taosAdapter 四、TDengine Client 安装4.1 linux客户端安装4.2 windows客户端安装 五、TDEngine3.x的使用总结 一、TDengi…

modelandview 跳转问题_ModelAndView 跳转的使用

路径: 学习springmvc ModelAndView的使用,之前一直仿别人ModelAndView的代码,都是好用的,自己建工程学了下,发现 new ModelAndView("jsp1/0724/myDialog")的时候跳转不过去 配置文件: /** * aut…

SpringMVC笔记--5处理响应数据ModelAndView

第5章 处理响应数据 5.1 SpringMVC 输出模型数据概述 对于MVC框架来说模式数据是最重要的,因为控制C是为了产生模型数据M,而视图V则是为了渲染模型数据。 如何将模型数据暴露给视图是Spring MVC框架的一项重要工作,Spring MVC提供了多种途…

浅入浅出 iptables 网络隔离原理

01 iptables简介 iptables ipfirewall(内核1.x时代) ipchains(内核2.x时代) iptables 网络协议栈 Link Layer 数据链路层的数据流向,根据mac寻址找到对应的网卡后向上进入网络层 Network Layer 网络层的数据流向&am…

ModelAndView 详解

当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。 因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法, 让你可以根据…