find方法用于查找数组中第一个满足条件的元素并返回该元素(未找到则返回undefined),不修改原数组;语法为array.find(callback, thisArg),callback接收element、index、array三个参数。

find 方法用于在数组中查找第一个满足指定条件的元素,找到就立即返回该元素,没找到则返回 undefined。它不会修改原数组,只做查找,且只返回单个值(不是新数组)。
基本语法和参数
调用方式:array.find(callback(element[, index[, array]])[, thisArg])
-
callback:必需,一个函数,用来判断每个元素是否符合条件;接收三个参数:
element(当前元素)、index(索引)、array(原数组) -
thisArg(可选):执行 callback 时绑定的
this值
查找数字、字符串等基础类型
例如从数字数组中找第一个大于 10 的数:
const numbers = [3, 8, 12, 15, 6]; const firstBig = numbers.find(n => n > 10); // 返回 12
再比如查找包含特定字符的字符串:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
const words = ['apple', 'banana', 'cherry'];
const hasA = words.find(word => word.includes('a')); // 返回 'apple'
查找对象数组中的某个对象
这是最常用场景。注意:find 返回的是原对象的引用,不是副本,修改它会影响原数组中的对象:
const users = [
{ id: 1, name: 'Alice', active: false },
{ id: 2, name: 'Bob', active: true },
{ id: 3, name: 'Charlie', active: false }
];
const activeUser = users.find(u => u.active);
// 返回 { id: 2, name: 'Bob', active: true }
activeUser.name = 'Robert'; // users[1].name 也会变成 'Robert'
没找到时的处理
如果没有任何元素满足条件,find 返回 undefined,所以建议检查返回值再使用:
const user = users.find(u => u.id === 999);
if (user) {
console.log(user.name);
} else {
console.log('用户不存在');
}
也可以配合空值合并操作符(??)提供默认值:
const user = users.find(u => u.id === 999) ?? { name: '未知用户' };

















