객체 사이의 서로 공통점이 있을 때 그 공통점을 비교해서 공통 부분을 제외한 리스트를 다시 얻고 싶을 때가 있다.
내가 참여한 방의 리스트를 제외한 미팅룸 리스트를 얻고 싶었다.
처음에 생각한 것은 이중 필터링 처리였다.
meetingroom.filter((room) => myRoom.filter((myroom) => myroom.room_id !== room.room_id))
그러나 작동하지 않았다.
이후에는 for문을 사용해서 작성해 보았지만.. 역시 작동하지 않았다.
useEffect에서 해당 값이 모두 할당된 뒤에 실행되게 해야 하는데, 이 부분이 어려웠다.
결국 한번씩 걸러내야 해서 filter를 사용하는건 맞았다.
some을 제안받은 것처럼 find로 같은 로직으로 작동하게 할 수 있었다.
동일한 값을 찾으면 true, 아니면 false를 반환한다.
filter는 참인 값만 반환하므로 meetingRoomList에서 참인 meetingRoom만을 얻을 수 있다.
filter 안에 함수를 사용하는 것을 좀 더 익혀놔야 겠다.
'Javascript' 카테고리의 다른 글
[Javascript] 자바스크립트의 특성 (0) | 2024.07.01 |
---|---|
[Javascript] 객체 (0) | 2024.06.29 |
Javascript: 라이브러리, 프레임워크 (0) | 2024.03.14 |
Javascript: HashRouter, Module bundler (0) | 2024.03.13 |
Javascript: MPA, SPA (0) | 2024.03.13 |