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

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.kler.cn/a/327088.html

相关文章:

  • MySQL-存储过程(头歌数据库实验题)
  • LLaMA-Factory(二)界面解析
  • 解锁动态规划的奥秘:从零到精通的创新思维解析(3)
  • Burp与其他安全工具联动及代理设置教程
  • OpenCV putText增加中文支持
  • 精通 Numpy 数组:详解数据类型查看、转换与索引要点
  • 微信小程序——音乐播放器
  • 【有啥问啥】二分图(Bipartite Graph)算法原理详解
  • SpringMVC源码-AbstractUrlHandlerMapping处理器映射器将实现Controller接口的方式定义的路径存储进去
  • 健康生活,从日常细节开始
  • NVLM多模态 LLM 在图像和语言任务中的表现优于 GPT-4o
  • Oracle数据恢复—异常断电导致Oracle数据库报错的数据恢复案例
  • 第167天:应急响应-日志自动提取分析项目_ELK_Logkit_LogonTracer_Anolog等
  • Mysql高级篇(下)——日志
  • Microsoft Edge 五个好用的插件
  • MySQL存储过程循环操作
  • LVGL 笔记
  • SpringBoot3+Swagger3(最新版springdoc-openapi教程)
  • 组合优化与凸优化 学习笔记5 对偶拉格朗日函数
  • 21 vue3之发布npm插件(hook自定义指令)
  • 国产RISC-V案例分享,基于全志T113-i异构多核平台!
  • 【刷题6】一维前缀和、二维前缀和
  • 学习VTK的目的和方法
  • 速盾:cdn加速什么好?
  • 【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇
  • 25考研咨询周开启,西安电子科技大学是否改考408??