본문 바로가기

Javascript

객체의 공통부분 제거하기

 

객체 사이의 서로 공통점이 있을 때 그 공통점을 비교해서 공통 부분을 제외한 리스트를 다시 얻고 싶을 때가 있다.

내가 참여한 방의 리스트를 제외한 미팅룸 리스트를 얻고 싶었다.

 

처음에 생각한 것은 이중 필터링 처리였다.

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