看完不要再说不会使用Array.filter()、Array.find()

97 阅读1分钟

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

在开发过程中,Array.filter()、Array.find(), 这两个方法会经常被使用。他们之间有共同点也有不同点。

共同点:都有筛选功能,即检测目标数组是否符合某种条件,并返回一个值(有的返回有的返回Array、有的返回undefined)。

不同点:

1. Array.filter(fun) 会返回一个新数组array, 这个array的每一项元素都是原数组满足了筛选条件的元素; 如果原数组没有
任何一项元素满足筛选条件, 则返回一个空数组[]; 如果原数组是空数组[], 则返回空数组; (PS:fun为筛选条件)

image.png

image.png

image.png

2. Array.find(fun) 会返回第一项满足筛选条件的元素; 如果没有任何一项元素满足筛选条件, 则返回undefined; 如果原数组
是空数组[], 则返回undefined;

image.png

image.png

image.png

PS: 上述只讲述了开发过程中最常见的使用方法,更详细的可以看MDN官方文档,附上链接

filter: developer.mozilla.org/zh-CN/docs/… find: developer.mozilla.org/zh-CN/docs/…