TIL

230727) filter 대신 find를 사용

유이 YUI 2023. 7. 27. 09:19

여러가지 데이터를 찾을 때는 filter를 사용하지만, 한 가지 데이터만 찾으면 될 경우 find를 사용하면 된다.

find를 사용하면 해당 조건에 맞는 가장 최상위 데이터를 뽑아낸다.

 

사용방법은 filter와 비슷하다.

 

array.filter((item)=>{item.id===id}) 형태로 filter를 사용했다면 array의 배열 중 item의 id가 id라는 것과 동일한 모든 것을 꺼내 줄 것이다.

 

반면 array.find((item)=>{item.id===id}) 형태로 find를 사용하면 array의 배열 중 item의 id강 id와 동일한 것들 중 가장 최상단의 한 가지! 데이터만을 꺼내 준다.

 

find를 사용할 때 주의점!

find를 사용했는데 data가 없을 경우 undefined처리가 되는 현상이 발생한다.

 

따라서 오류가 날 가능성이 크므로, find를 사용할 때는 미리 Optional chaning이나 삼항연산자등을 이용하여 false일 경우에는 아무런 변화도 일어나지 않고, true일 경우에만 원하는 작업을 수행하도록 하는 방법을 사용하는 것이 좋다.

브이하는 사진

오늘도 잘 해냈다!