find方法返回数组中第一个满足条件的元素,否则返回undefined;它不修改原数组,匹配即停止遍历;回调函数接收元素、索引、数组参数,返回true即返回当前元素。

find 方法用于查找数组中第一个满足条件的元素,找到就立即返回该元素,没找到则返回 undefined。它不会修改原数组,也不会遍历整个数组(一旦匹配就停止)。
基本用法:传入一个判断函数
语法:array.find(callback(element[, index[, array]])[, thisArg])
- callback 是必需的,它接收当前元素、索引、原数组作为参数,返回布尔值
- 只要 callback 返回
true,当前元素就被选中并返回 - 只返回第一个匹配项,后续即使还有符合条件的也不再检查
常见使用场景和写法
✅ 查找对象数组中某个 ID 对应的对象:
const users = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' }
];
const user = users.find(item => item.id === 2); // { id: 2, name: '李四' }
✅ 查找数值数组中第一个大于 10 的数:
Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设...
const numbers = [3, 7, 12, 9, 15]; const firstBig = numbers.find(n => n > 10); // 12
✅ 使用第二个参数(index)做条件判断:
const arr = ['a', 'b', 'c', 'd']; const second = arr.find((item, i) => i === 1); // 'b'
注意和 findIndex、filter 的区别
- find → 返回匹配的元素本身(或 undefined)
- findIndex → 返回匹配元素的索引(或 -1),适合需要位置的操作
- filter → 返回所有匹配项组成的新数组,不提前终止
找不到时记得处理 undefined
如果不确定是否一定能找到,避免直接访问属性导致报错:
const user = users.find(u => u.id === 999);
if (user) {
console.log(user.name); // 安全访问
} else {
console.log('未找到用户');
}
或者用可选链操作符(ES2020+):
console.log(user?.name); // 不报错,输出 undefined
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










