首页 > 其他分享 >find,findIndex方法

find,findIndex方法

时间:2023-08-20 10:31:35浏览次数:35  
标签:findIndex name val newArr arr id let 方法 find

find()方法:数组中每个元素都调用一次函数中执行, 通过判断返回符合条件的对象,没找到返回undefined; findIndex()方法:数组实例的findIndex方法 找出第一个符合条件元素的位置,没找到返回-1;

find:

// 1.找出数组中id=50的元素
let arr=[
   {id:10,name:'狼了个狼'},
   {id:20,name:'狼了个狼'},
   {id:30,name:'狼了个狼'},
   {id:40,name:'狼了个狼'},
   {id:50,name:'狼了个狼'}
]
let index=arr.find(val=>val.id==50)
console.log(index); // {id:'50',name:'狼了个狼'}
// 2.获取数组中的NaN
let arr=[1,2,NaN,3,4,5,6];
let newArr=arr.find(val=>{
  return Object.is(NaN,val)
})
 console.log(newArr); //NaN
//3. 没有找到返回undefined
  let arr = [1, 2, 3, 4, 5, 6];
    let newArr = arr.find(val => {
        return val === 9
    })
    console.log(newArr); //undefined
  // 3.获取数组中第一个大于19的元素
    let arr=[1,3,5,7,19,21,23]
    let newArr=arr.find(val=>{
        return val>19
    })
    console.log(newArr); //21

findIndex:

//1. 找出数组中第一个大于10的元素对应的索引值
let arr=[10,2,30,40,50]
let index=arr.findIndex(val=>val>10)
console.log(index);// 2
// 2. 找出第一个符合条件对应的索引值
let arr=[1,20,30,40,50]
let newArr=arr.findIndex(val=>val==1)
console.log(newArr);//0
// 3. 找出id=5的元素对应的索引值
let arr=[
{id:1,name:'狼了个狼'},
{id:2,name:'狼了个狼'},
{id:3,name:'狼了个狼'},
{id:4,name:'狼了个狼'},
{id:5,name:'狼了个狼'}
]
let newArr=arr.findIndex(val=>val.id===5)
console.log(newArr); //4
// 没有找到返回-1
 let arr = [1, 20, 30, 40, 50]
    let newArr = arr.findIndex(val => val == 10)
    console.log(newArr); // -1

注意:findIndex对于空数组,函数是不会执行的; find 对于空数组,函数也是不会执行的,不会改变数组的原始值

标签:findIndex,name,val,newArr,arr,id,let,方法,find
From: https://blog.51cto.com/u_16217814/7159115

相关文章

  • BBS登录功能(auth模块ajax方法)
    前端<divclass="container-fluid"><divclass="row"><divclass="col-md-8col-md-offset-2"><h1class="text-center">登录</h1><divclass="form-g......
  • [转]By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
    在编译安装的时候出现如下问题,是Eigen3的Cmake依赖问题,已经安装eigen3,但在项目的find_package(Eigen3QUERIED)中,无法找到FindEigen3.Cmake. CMakeErroratloam_velodyne/CMakeLists.txt:13(find_package):Bynotproviding"FindEigen3.cmake"inCMAKE_MODULE_......
  • 【补充】Python中实现单例模式的六种常见方法
    【补充】Python中实现单例模式的六种常见方法【1】类属性:classSingleton:instance=None@classmethoddefgetInstance(cls):ifcls.instanceisNone:cls.instance=Singleton()returncls.instance使用类属性保存实......
  • vue.js:5108 [Vue warn]: Cannot find element: #body_container
    1、原因:我把Vue挂载元素的JS放在了html加载完成的前面了2、解决:放到html加载完成之后就可以了 ......
  • 【wxauto】新版PC端微信报错:LookupError: Find Control Timeout(10s): {Name: ‘输入
    微信版本:3.9.5.81调用后报错“LookupError:FindControlTimeout(10s):{Name:'输入',ControlType:EditControl}”按照Issues#107说的修改后是不报错,但是没有效果,不能自动发送消息 解决方案:在wxauto.py的文件中找到WeChat的类,并添加下述方法defChangeWindo......
  • VScode软件的安装以及C/C++环境配置的方法
    今天和大家分享一下VScode软件的安装以及C/C++环境配置的方法。手把手教大家入门。1,下载VScode编译器(1)   官网下载链接:https://code.visualstudio.com/ (2)安装VScode。安装过程中的附加任务建议全部勾选。 至此VScode安装完成 2,下载编译器MinGW。(1)下载地址:https:......
  • 在Python中,当你调用一个类的方法时,需要将类的实例作为第一个参数传递给方法。 括号
    classClass_test:def__init__(self):pass#若无则报错AttributeError:'Class_test'objecthasnoattribute'fun_zip'deffun_zip(self,df_arg=pd.DataFrame(),bool_arg=False):#......
  • JAVA 中的方法是对象吗?
    在Java中,方法(Method)不是对象本身,但它们与对象之间存在密切的关系。为了理解这个关系,我们需要了解Java中的方法和对象的概念以及它们之间的交互。方法(Method):方法是Java中执行特定任务的代码块。它是面向对象编程的核心概念之一,用于封装可重复使用的代码。在Java中,每个方法都属于一个......
  • Python 抽象类和抽象方法
    Python抽象类和抽象方法Python通过继承abc模块中的ABC来实现抽象类,通过abc模块的abstractmethod装饰抽象方法示例fromenumimportEnumfromabcimportABC,abstractmethodclassShapeType(Enum):RECTANGLE=1SQUARE=2classShape(ABC):d......
  • 9 种方法使用 Amazon CodeWhisperer 快速构建应用
    文章作者:KrisSchultz3DSpecialistSolutionsArchitect,AmazonWebServices文章译者:郑予彬亚马逊云科技资深开发者布道师代码校验:阙铭飞亚马逊云科技大中华区解决方案研发中心解决方案架构师亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术......