zoukankan      html  css  js  c++  java
  • ES6之Array.find()和findIndex()函数的用法

    ES6为Array增加了find(),findIndex函数。

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

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

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

    [1, 2, 3, 4].find((value, index, arr) => {
      
    })

    查找函数有三个参数。

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

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

    arr:被查找的数组。

    例:

    1.查找元素,返回找到的值,找不到返回undefined。

    复制代码
    const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    var ret1 = arr1.find((value, index, arr) => {
      return value > 4
    })
    
    var ret2 = arr1.find((value, index, arr) => {
      return value > 14
    })
    console.log('%s', ret1)
    console.log('%s', ret2)
    复制代码

    结果:

    5
    undefined

    2.查找元素,返回找到的index,找不到返回-1。

    复制代码
    var ret3 = arr1.findIndex((value, index, arr) => {
      return value > 4
    })
    
    var ret4 = arr1.findIndex((value, index, arr) => {
      return value > 14
    })
    console.log('%s', ret3)
    console.log('%s', ret4)
    复制代码

    结果:

    4
    -1

    3.查找NaN。

    复制代码
    const arr2 = [1, 2, NaN, 4, 5, 6, 7, 8, 9, 10, 11]
    var ret5 = arr2.find((value, index, arr) => {
      return Object.is(NaN, value)
    })
    
    var ret6 = arr2.findIndex((value, index, arr) => {
      return Object.is(NaN, value)
    })
    console.log('%s', ret5)
    console.log('%s', ret6)
    复制代码

    结果:

    NaN 
    2   
  • 相关阅读:
    wxPython跨线程调用
    安卓开发24:FrameLayout布局
    URAL 1081
    [置顶] Hibernate运行机理
    [置顶] Hibernate的一个经典异常
    poj1190 生日蛋糕 dfs
    [置顶] 自己写代码生成器之生成Dal层代码(获取数据库所有表名称)
    修改mysql数据存储的地址
    拖延心理学
    DeepLearnToolbox使用总结
  • 原文地址:https://www.cnblogs.com/jianxian/p/12721283.html
Copyright © 2011-2022 走看看