[JavaScript] 바닐라 JS로 크롬 앱 만들기 (11) - Deleting To Dos

선영·2021년 10월 9일
0

JavaScript

목록 보기
11/27
post-thumbnail

2021.10.09(토)
JS #7.6~#7.8

TO DO LIST(3)

#7.6~#7.8 - Deleting To Dos

To-Do를 삭제할 때 마다 localStorage에 업데이트를 해보자.

Date.now()

To-Do에 random id 부여하기

  • Date.now()값을 id로 설정한 newToDoOjt를 설정해주게 되면,
  • 아래와 같이 특정 id를 가진 항목을 저장 할 수 있다!
  • 이를 html에 반영하기 위해 To-Do를 그려주는 function인 paintToDo의 트리거를 newToDoOjt로 변경해준뒤,
    tagLi와 tagSpan을 newToDoOjt의 각각의 구성요소에 연결해주면
  • html상에서도 li의 id가 Date.now()값으로 부여된 것을 확인 할 수 있다!

.filter()

()안에 들어가는 function은 항상 true를 리턴해야만 한다.
만약 false에 해당되는 item이 있다면 해당 item은 제외된다.
이를 활용해서 특정item을 삭제하는게 아니라, 제외하고 새로운 array를 만들자.

  • 아래를 예시로 들자면, fruit이라는 array에 대해서,
    functionName=a 에서 argument인 item이 "바나나"가 아닐경우 true이다.
    때문에 truit.filter(a)라고 했을때, "바나나"는 false에 해당되므로, 이것이 제외된
    item들로 구성된 새로운 array가 생성된다.
  • 이를 function을 따로 만드는 것 없이, arrow function=> 를 활용할 수도 있다.
  • deleteToDo function에 이를 활용해서 우리가 클릭한 li.id를 제외한 item들로 새로운 array를 구성해보자.
    그런데, number인 todo.id와는 다르게, console.log(typeof li.id); 를 해보면 li.id 는 string이다. 그래서 적용이 안됨...
  • string을 number로 변환해주는 parseInt()를 li.id에 적용해주고,
    마지막으로 saveToDos() function을 다시 불러와주자.
profile
Superduper-India

0개의 댓글