find返回第一个匹配元素值,findIndex返回其索引;均不修改原数组,找到即停,未找到时分别返回undefined和-1。

find 和 findIndex 是数组方法,用来按条件查找元素——find 返回第一个匹配的**元素值**,findIndex 返回它的**下标(索引)**。它们不修改原数组,只遍历,找到就停,没找到分别返回 undefined 和 -1。
它接收一个回调函数,对每个元素执行判断,一旦返回真值(truthy),立刻返回当前元素,不再往后看。
item、index、array,常用前两个undefined,记得做存在性检查,避免报错例子:
const users = [{id: 1, name: '张三'}, {id: 2, name: '李四'}];
const user = users.find(u => u.id === 2); // {id: 2, name: '李四'}
逻辑和 find 完全一样,只是返回的是索引号(从 0 开始),不是元素本身。
-1 表示没找到,这是关键判断依据splice、array[index] = ... 很常用例子:
const nums = [10, 20, 30, 40];
const idx = nums.findIndex(n => n > 25); // 2(因为 30 是第一个大于 25 的,索引是 2)
就是从左到右逐个调用你的回调函数,传入当前元素,看返回值是不是真值:
立即学习“Java免费学习笔记(深入)”;
true、非空字符串、非零数字、对象、数组等真值,立即停止并返回结果Object.keys() 或 Object.entries() 转成数组this 绑定问题,但普通函数要注意 this 指向(除非显式传参)基本上就这些。用熟了你会发现,它们比写 for 循环查 + break 简洁太多,也比 filter[0] 更高效(filter 全遍历,find 找到就停)。
以上就是JavaScript find和findIndex如何用_它们如何查找元素?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号