这个find方法是和map()的写法一模一样,而且参数也是相同的,且包括也是需要有返回值的,那他是用来干什么的,有什么不一样的特点呢?
<script>
var arr=[1,3,4,5,46,1,24]
let result=arr.find((item,index,arr)=>{
// item数组中每个元素 index每个元素的下标 arr数组本身
return item>18
})
console.log(result)
</script>
明明大于18的元素有两个,他为什么只返回一个?这就是它的第一个特点
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数
注意:
find() 并没有改变数组的原始值。
适用于什么场景?你明确知道这个数组里面有一个是你需要的值,你想拿到它?是不是多此一举?
不!,比如:一个由多个对象组成的数组,你明确知道对象中的属性有且仅有一个是你需要的,你就可以通过此方法返回这个对象
当然,上述的这种情况你用filter一样能够实现,多一种思路嘛,总会有很多的解决办法!