用法: 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。 语法:arr.find(callback[, thisArg]) 参数: callback:用来测试每个元素的函数,接受三个参数: element:当前遍历到的元素。 index可选:当前遍历到的元素。 array可选:数组本身。 thisArg可选:执行 callback 时,用于 this 的值。 返回值: 数组中第一个满足所提供测试函数的元素的值,否则返回 undefined。
const myTest = [5, 12, 8, 130, 44];console.log('-----find------');let result = myTest.find((item,index,arr)=>{console.log(item,index,arr);return item>10;})console.log(result)console.log('-----myFind------');Array.prototype.myFind = function(fun,thisArg){if(typeof fun !=='function'){throw new Error(fun + '不是一个函数')}if ([null, undefined].includes(this)) {throw new Error(`this 是null 或者 undefined`)}for (let i = 0; i < this.length; i++) {const res = fun.call(thisArg,this[i],i,this);if(res){return this[i]}}return undefined;}let myResult = myTest.myFind((item,index,arr)=>{console.log(item,index,arr);return item>10;})console.log(myResult)

