2019独角兽企业重金招聘Python工程师标准>>>

数组实例的find方法,用于找出第一符合条件的数组成员。它的参数是一个回调函数,所有的数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员,如果没有符合条件的成员,返回undefined。

[1, 4, -5, 10].find((n) => n < 0)
// -5
上面代码找出数组中第一个小于 0 的成员。

[1, 5, 10, 15].find(function(value, index, arr) {
  return value > 9;
}) // 10
上面代码中,find方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。

数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。

[1, 5, 10, 15].findIndex(function(value, index, arr) {
  return value > 9;
}) // 2
这两个方法都可以接受第二个参数,用来绑定回调函数的this对象。

function f(v){
  return v > this.age;
}
let person = {name: 'John', age: 20};
[10, 12, 26, 15].find(f, person);    // 26
上面的代码中,find函数接收了第二个参数person对象,回调函数中的this对象指向person对象。

另外,这两个方法都可以发现NaN,弥补了数组的indexOf方法的不足。

[NaN].indexOf(NaN)
// -1
 
[NaN].findIndex(y => Object.is(NaN, y))
// 0
上面代码中,indexOf方法无法识别数组的NaN成员,但是findIndex方法可以借助Object.is方法做到。

转载于:https://my.oschina.net/GodHandSoul/blog/3012949

数组实例的find()和findIndex()相关推荐

  1. 数组实例的find() 和 findIndex()方法

    数组实例的find() 和 findIndex()方法 数组实例的find()方法,用于找出第一个符合条件的数组成员.它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为tr ...

  2. C语言从青铜到王者——数组详解总结【一维数组、二维数组、字符数组、数组实例】

    所谓数组,是指将那些具有相同类型的.数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式.数组属于一种构造类型,其中的变量被称为数组的元素.数组元素的类型可以是基本数据类型,也可以是特殊类型 ...

  3. php打印四行三列表格,php打印数组_php数组实例之表格状打印

    摘要 腾兴网为您分享:php数组实例之表格状打印,云端学习,洋游码头,央视影音,新东方等软件知识,以及cleverqq机器人,熊猫tv直播,造价通app,诺基亚手机解锁,qqtool,qq浏览器微,国 ...

  4. php 数组格式的字符串转为数组_php将字符串转换为数组实例讲解

    php将字符串转换为数组 在php中通过使用"explode函数",将字符串转换为数组,该函数的用法为"explode(delimiter,string)",其 ...

  5. 在Ruby中使用&运算符(new_array- arr&old_Array)创建数组实例

    In the last articles, we have gone through many methods through which we can create Array Instances ...

  6. excel vba真正的动态数组实例-按需定义数组大小

    excel vba真正的动态数组实例 一.动态数组的定义 动态数组的定义,一开始不需要给数组标明上界和下界.直接定义即可,如下面的代码: Dim MyStr() As String 这样,就定义了一个 ...

  7. 数组实例的includes()方法

    数组实例的includes()方法 Array.prototype.includes()方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes()方法类似.ES2016 引入了该 ...

  8. 数组实例的entries(),keys() 和 values()方法

    数组实例的entries(),keys() 和 values()方法 ES6 提供三个新的方法--entries(),keys()和values()--用于遍历数组.它们都返回一个遍历器对象(详见&l ...

  9. 数组实例的fill()方法 fill()方法

    数组实例的fill()方法 fill()方法使用给定值,填充一个数组. ['a', 'b', 'c'].fill(7) // [7, 7, 7] new Array(3).fill(7) // [7, ...

最新文章

  1. 我的世界服务器虚拟菜单插件,《我的世界》服务器快捷菜单插件怎么用?
  2. pytorch实现dcgan_PyTorch版本DCGAN实现的注解
  3. building for production...Killed
  4. 下一代防火墙评测--网界
  5. linux系统--C语言程序开发的基本步骤(包含gcc的基本步骤)
  6. pic单片机c语言配置,PIC单片机配置字说明及使用
  7. vb2010 java,连接用vb成功连接access2010
  8. pytest_03_pycharm运行pytest (转:上海悠悠)
  9. CFD:用软件完成流体仿真分析(step1)
  10. java-合并两个有序链表
  11. 科技圈的愚人节创意大赛已经开始!
  12. 以春雨为题写一篇500字的散文
  13. Goland 代码飘红
  14. iPhone 蓝牙通信编程初步(网上收集)
  15. 水果超市配送小程序的功能
  16. 红旗linux桌面版6.0 sp3,红旗Linux桌面版6.0SP1发布及下载
  17. SQL中日期函数的运用
  18. 索尼文化变革催生低端DV
  19. 台商华硕遭500万美元索赔真相调查(二)
  20. 基于javaweb的学籍管理系统计算机专业毕业论文java毕业设计开题报告

热门文章

  1. GDCM:ReadSelectedPrivateGroups的测试程序
  2. Boost:自定义双端队列的测试程序
  3. VTK:PolyData之PointNormals
  4. OpenGL 面剔除Face culling
  5. 虚函数和纯虚函数的区别?
  6. QT的QActionGroup类的使用
  7. linux 如何让.开头的文件不隐藏_如何使用 BusyBox 制作Linux最小文件系统
  8. 「Apollo」百度Apollo感知模块(perception)红绿灯检测代码完整+详细解析
  9. 事件时间/处理时间/进入时间(Event Time / Processing Time / Ingestion Time)
  10. 5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出