저장한 지역 삭제하기
납품이 코앞 있지만 하루에 한 시간 정도는 코딩에 투자하고 싶다.
코딩이 중독 같다.
쉴 때도 로직을 생각하고, 자기 전에도 오늘 안 풀린 로직을 생각한다.
몸이 힘들어도 즐겁다.
어려움을 풀어 헤치는 게 적성인가 보다.
하기사, 머리가 나쁘니 어려운 게 그리도 많겠지.
오늘 완료한 기능은 저장한 지역을 지우는 것이다.
모두 지우는 게 아닌, 내가 선택한 지역만 지우는 것.
앞서 꾸준히 글을 적고 있지만 방식에 대해 다시 언급을 하자면,
1. Autocomplete을 통해 지역 리스트를 가져온다.
2. 각 지역은 유니크 키 값을 가지고 있다.
3. Async(Local storage)에 각 지역의 유니크 키값을 저장한다.
4. 저장할 땐 stringify를 해서 스트링 형태로 저장한다.
5. 두 번째 지역 저장할 땐 이미 저장한 유니크 키 값을 불러와 parse 하여 오브젝트로 변환 후 새로운 값을 더해서 다시 stringify 해 저장한다.
6. 모든 과정마다 따로 함수로 만들어둔 getItem을 해준다. (그래야 화면에 보인다)
7. 지울 땐 저장된 리스트를 filter를 통해 유니크 키 값을 대조하여 제외된 리스트를 얻는다.
8. 제외된 리스트를 다시 setItem 해준다.
9. 다시 getItem 함수를 돌린다.
복잡하지만 원리는 간단하다.
여기까지 지역을 추가하고 삭제하는 로직을 짜는데 3주가 걸렸다.
물론 중간중간 다른 기능들을 만들긴 하였다.
만들어진 기능은 동영상으로 첨부하지만, 세팅 화면 레이아웃이 완성된 상태는 아니다.