`find()` 和 `filter()` 都是 JavaScript 中用于处理数组的方法,但它们的作用略有不同。
`find()` 方法用于查找并返回第一个符合条件的数组元素,如果找到就返回该元素,否则返回 `undefined`。例如:
const nums = [1, 2, 3, 4, 5];
const evenNum = nums.find(num => num % 2 === 0);
console.log(evenNum); // 2
上面的代码中,`find()` 方法查找数组 `nums` 中的第一个偶数,找到后返回 `2`。
另一方面,`filter()` 方法用于创建一个新的、包含符合条件的所有数组元素的数组。例如:
const nums = [1, 2, 3, 4, 5];
const evenNums = nums.filter(num => num % 2 === 0);
console.log(evenNums); // [2, 4]
上面的代码中,`filter()` 方法创建了一个新的数组 `evenNums`,其中包含 `nums` 数组中所有的偶数(即 `2` 和 `4`)。
因此,`find()` 方法用于查找某个特定的元素,而 `filter()` 方法则用于在数组中查找多个符合条件的元素,并将它们放入一个新的数组中。