数组操作中find、filter比较

69 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情

1.find()

概念:方法返回通过测试(函数内判断)的数组的第一个元素的值。

语法:

array.find(function(currentValue, index, arr),thisValue)

image.png

实例:

image.png

为数组中的每个元素都调用一次函数执行:

当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。

如果没有符合条件的元素返回 undefined。

1.filter()

概念:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

语法:

array.filter(function(currentValue,index,arr), thisValue)

image.png

实例:

image.png

1.比较

共同点:

1.  不会对空数组进行检测。

2.  不会改变原始数组。

区别:

find:返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。

filter:返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。