一、基本介绍

arr.find()是JavaScript中的一个数组方法,用来查找并返回数组中第一个符合条件的元素。它是ES6新增的方法,常用于搜索item,查找是否存在指定的元素。
二、语法
arr.find(callback(element[, index[, array]])[, thisArg])
callback是一个测试函数,返回值为true或false。除了element以外的两个参数是可选的。
thisArg用来定义callback函数内部this的值。
数组方法find()语法:
let newArr = arr.find((element, index, array) => {
// callback function
}, thisArg);
三、使用示例
1、查找数字数组中的偶数
let nums = [1, 2, 3, 4, 5];
let evenNum = nums.find((num) => {
return num % 2 === 0;
});
console.log(evenNum) // 2
在这个例子中,我们传递了一个callback函数,它的作用是查找数组中第一个偶数。find方法会从数组中的第一个元素开始执行callback函数,如果该函数返回true,则停止执行并返回该元素。
2、查找对象数组中指定年龄的人
let people = [
{ name: 'zhangsan', age: 22 },
{ name: 'lisi', age: 25 },
{ name: 'wangwu', age: 30 },
{ name: 'zhaoliu', age: 22 }
];
let person = people.find((person) => {
return person.age === 22;
});
console.log(person) // { name: 'zhangsan', age: 22 }
在这个例子中,我们通过传递一个callback函数来查找并返回第一个年龄为22的人。回调函数有一个参数person,代表每个元素。如果某个人的年龄为22,则返回该元素 person。
3、找到数组中的第一个大写字母
let arr = ['a', 'B', 'c', 'D', 'e'];
let result = arr.find(item => {
return item === item.toUpperCase();
});
console.log(result);//'B'
在这个例子中,我们通过使用callback函数在数组中查找第一个大写字母。回调函数只有一个参数 item,代表每个元素。如果该元素是大写字母,则返回该元素的值。
四、注意事项
如果没有找到符合条件的元素,则arr.find()会返回undefined。
与其他数组方法类似,find()也可以使用thisArg参数来指定回调函数中的this指向。
回调函数中,有三个参数element、index和array,其中index和array都是可选的。
ES6的时代已经来临,只要你了解了这个函数的用途和特性,就能够使用JavaScript更方便地处理各种问题。

京公网安备 11010802030320号