find方法返回数组中第一个满足测试函数的元素,未找到则返回undefined;不修改原数组,遍历遇首个匹配项即停止;语法为array.find(callback, thisarg),callback需返回布尔值,常用于基础类型查找和对象引用获取。

find 方法用于返回数组中第一个满足提供的测试函数的元素,如果没找到则返回 undefined。它不会修改原数组,且只遍历一次,遇到第一个匹配项就立即停止。
基本语法和用法
调用形式为:array.find(callback(element[, index[, array]])[, thisArg])
- callback:必需,每次遍历执行的函数,接收当前元素、索引、原数组三个参数(后两个可选)
- 函数需返回布尔值;返回 true 的第一个元素会被返回
-
thisArg(可选):指定 callback 执行时的
this值
查找数字、字符串等基础类型
例如找第一个大于 10 的数:
const firstBig = numbers.find(n => n > 10); // 12
找第一个包含 "js" 的字符串:
const tags = ["html", "css", "javascript", "react"];const found = tags.find(str => str.includes("js")); // "javascript"
查找对象数组中的特定对象
这是最常见场景。注意:返回的是原对象的引用,不是拷贝:
const users = [{ id: 1, name: "Alice", active: true },
{ id: 2, name: "Bob", active: false },
{ id: 3, name: "Charlie", active: true }
];
const activeUser = users.find(u => u.active && u.id > 1); // { id: 3, name: "Charlie", active: true }
与 findIndex、filter 的区别
-
findIndex 返回匹配项的索引(数字),没找到返回
-1 - filter 返回所有匹配项组成的新数组,即使只有一项也会返回数组
- find 只关心“第一个”,适合“查存在”或“取默认项”逻辑,性能更优
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











