当前位置: 首页 > news >正文

find()和findIndex()方法

find()

1.find方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。

例如:

[1, 5, 10, 15].find(function(value, index, arr) {return value > 9;
}) // 10

2.给你一个下标从 0 开始的非负整数数组 nums 。对于 nums 中每一个整数,你必须找到对应元素的第二大整数。
如果 nums[j] 满足以下条件,那么我们称它为 nums[i] 的第二大整数:
        1)j > i
        2)nums[j] > nums[i]
        3)恰好存在 一个 k 满足 i < k < j 且 nums[k] > nums[i] 
如果不存在 nums[j] ,那么第二大整数为 -1 。
比方说,数组 [1, 2, 4, 3] 中,1 的第二大整数是 4 ,2 的第二大整数是 3 ,3 和 4 的第二大整数是 -1 。

// 下一个更大元素
const findBigNumber = (arr, num) => {const result = arr.find((value, index) => {return value > num && arr.indexOf(value) > 0 && index > arr.indexOf(num) + 1;});return result !== undefined ? result : -1;
}
console.log('下一个更大元素', findBigNumber([7, 3, 6, 8], 7))    //8

findIndex()

[1, 5, 10, 15].findIndex(function(value, index, arr) {return value > 9;
}) // 2

注:find方法返回第一个使回调函数返回true的成员,否则返回undefined;findIndex返回该成员的位置,找不到则返回-1。这两个方法支持回调函数参数,可用于复杂条件判断,并能识别NaN,弥补了indexOf的不足。例如:

[NaN].indexOf(NaN)
// -1[NaN].findIndex(y => Object.is(NaN, y))
// 0


http://www.mrgr.cn/news/39763.html

相关文章:

  • Navicat 工具 下载安装
  • TE-1402/1403 简易使用说明 - Technica Engineering Media Converter
  • Spring Task 调度任务
  • 【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。
  • Excel表格还能这样玩?没有VBA和插件,一样可以用数据库功能
  • 什么是javascript的事件循环
  • WebRTC入门
  • 这几种文件找回方法你都知道吗?
  • vue3+typescript 如何将xml格式的文件转化成key value的形式?
  • scrapy 爬取微博(五)【最新超详细解析】: 爬取微博文章
  • 【2024.9.30练习】素数密度
  • 阿里云表格存储OtsQueryWrapper
  • Nginx部署前端Vue项目的深度解析
  • 学习高级深度学习的必备书——深度学习精粹
  • 银行家的舍入方法探讨20240930
  • [linux 驱动]input输入子系统详解与实战
  • python实用脚本(二):删除xml标签下的指定类别
  • 基于yolov8的100种蝴蝶智能识别系统python源码+pt模型+训练日志+精美GUI界面
  • 在PC端连接苹果手机(iPhone)时,即使已经开启了开发者模式(开发者权限),但仍然无法成功连接,是什么原因?
  • 特征工程——一门提高机器学习性能的艺术