一. 原理
**find()** 方法返回通过测试(函数内判断)的数组的第一个元素的值。
二. 用法
**find()** 方法为数组中的每个元素都调用一次函数执行:
- 当数组中的元素在测试条件时返回
**true**时,**find()**返回符合条件的元素,之后的值不会再调用执行函数。 - 如果没有符合条件的元素返回
**undefined**。
注意:
**find()**不会对空数组进行检测。**find()**不会改变原始数组。三. 手写代码
Array.prototype.newFind = function(fn){let arr = this;for(let i=0; i<arr.length; i++){if(fn(arr[i])){return arr[i];}}return undefined;}
四. 测试代码
```javascript const arr = [ {id: 0, name: “0”}, {id: 1, name: “1”}, {id: 2, name: “2”},
{id: 3, name: “3”} ];
console.log(arr.find(item => item.name === ‘3’)); // { id: 3, name: ‘3’ } console.log(arr.newFind(item => item.name === ‘3’)); // { id: 3, name: ‘3’ }
console.log(arr.find(item => item.name === ‘5’)); // undefined console.log(arr.newFind(item => item.name === ‘5’)); // undefined ```
