카카오맵 지도 - 11 지역별로 마커 랜더링하기

developer.do·2023년 3월 2일
0

카카오맵 지도 - 11 지역별로 마커 랜더링하기


지역을 전체로 봤을 때


구좌읍과 대정읍만 봤을 때


이렇게 나와야함

   {data
          .filter((item: any) =>
            selectTown.length === 0 && selectCity === '제주전체'
              ? true
              : selectTown.length === 0 && item.city === selectCity
              ? true
              : selectTown.includes(item.town)
          )
    
           
    이렇게 filter를 걸어주고 map 함수를 실행시킴


만약 if else 문으로 쓰면 이렇게됨

  .filter((item: any) => {
            if (selectCity === '제주전체' && selectTown.length === 0) {
              return true;
            } else if (item.city === selectCity && selectTown.length === 0) {
              return true;
            } else if (selectTown.includes(item.town)) {
              return true;
            } 
          })
  1. selectTown의 길이가 0이고(and) selectCity가 제주전체라면 true를 return
  2. 그게아니라 selectTown의 길이가 0이고(and) item.city가 selectCity와 같다면 true를 return
  3. 그것도 아니라면 selectTown.includes(item.town)의 반환값을 return

0개의 댓글