if (inputPassword === commentToDelete.password) {
const filteredComments = comments.filter((comment) => comment.time !== commentToDelete.time);
localStorage.setItem("comments", JSON.stringify(filteredComments));
loadComments();
alert("댓글이 삭제되었습니다.");
} else {
alert("비밀번호가 일치하지 않습니다.");
}
댓글 삭제기능을 구현하는데 time 속성을 사용하는 이유에 대해 궁금해졌다.
인덱스가 있는데 왜 time 속성으로 filter하는걸까?
time 속성을 사용하는 이유는 각 댓글이 유일한 시간을 가지기 때문이다!
여러 댓글이 동시에 작성되는 경우에도 작성시간은 각각 고유하다.
그래서 댓글을 식별할 때 time 속성을 사용하면 중복되지 않는 값을 가지고 있어서 식별하는데 용이하다.
const originalIndex = comments.findIndex((c) => c.time === commentToEdit.time);
수정기능에서는 findindex() 메서드도 사용하는데
우선 time속성으로 식별한 후에 혹여나 있을 동일한 시간으로 작성되는 댓글이 있을 수 있기 때문에
그 안에서 인덱스로 한번 더 식별하여 정확성을 높일 수 있다.
'JS' 카테고리의 다른 글
문자열의 대문자를 소문자로 변환하기- JS (0) | 2024.04.30 |
---|---|
TMDB에서 데이터 받아오기 (0) | 2024.04.25 |
Javascript 문법 (0) | 2024.04.23 |