Miyeon

find메서드와 filter메서드의 차이

2021-01-19JS

원하는 값을 찾고 싶다면?

find() filter()

두 메서드의 차이점

filter()는 테스트를 통과하는 요소를 담은 새로운 배열을 리턴하고, find()는 테스트 조건에 맞는 요소 중 첫 번째 요소의 값를 리턴한다.

const foods = [{ name: "떡볶이", taste: "spicy" }, { name: "호떡", taste: "sweet" }];

foods.find(food => food.name === "호떡");
// {name: "호떡", taste: "sweet"}

foods.filter(food => food.name === "호떡");
// [{name: "호떡", taste: "sweet"}]
const toDo = finishedList.filter(toDo => toDo.id === id);
pendingList.push(...toDo);

const toDo = finishedList.find(toDo => toDo.id === id);
pendingList.push(toDo);

참고

Array.prototype.filter()
Difference between find and filter