一、基本介绍
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更方便地处理各种问题。