지역을 전체로 봤을 때
구좌읍과 대정읍만 봤을 때
이렇게 나와야함
{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;
}
})
- selectTown의 길이가 0이고(and) selectCity가 제주전체라면 true를 return
- 그게아니라 selectTown의 길이가 0이고(and) item.city가 selectCity와 같다면 true를 return
- 그것도 아니라면 selectTown.includes(item.town)의 반환값을 return