find() 和 filter() 都是数组的方法,用于过滤数组中的元素,但有以下区别:
find():- 找到第一个符合条件的元素即停止搜索,并返回该元素。 - 如果不存在符合条件的元素,则返回 undefined。
filter():- 找到所有符合条件的元素,返回一个新数组。 - 如果不存在符合条件的元素,则返回空数组 []。
语法:
array.find(callback)
array.filter(callback)
示例:
let users = [
{ name: 'John', age: 34 },
{ name: 'Amy', age: 12 },
{ name: 'Lisa', age: 56 }
]
let findResult = users.find(user => user.age > 50);
// findResult is {name: "Lisa", age: 56}
let filterResult = users.filter(user => user.age > 30);
// filterResult is [{name: "John", age: 34}, {name: "Lisa", age: 56}]