1
일단 달력에 대한 데이터를 담는것 자체부터가 잘못되었다.
그러니까 팀장님 말씀처럼 2차원배열로 만들 필요가 없었던 것이다.
2차원 배열에 데이터를 넣고 빼려고하니 정말 답이 없었다...
그래서 결국은
axios고 뭐고 달력부터 다시 손보기로 했다.
2
2차원 배열을 1차원 배열로 만든 후 달력 날짜를 출력하는 반복문을 만지작거렸더니
원하는 달력의 모습과 비슷하게 나오긴했지만... 빈 공간 음 그러니까
31일 다음 칸 부터 다음달(9월)의 날짜들이 출력되어야 했다
3
근데 어림도 없었다.
4
좋은 방법이 많이 있을 것이다.
라이브러리를 사용해서 해결 할 수도 있고...
반복문에 조건문을 달아서 해결 할 수도 있을거라 생각한다.
5
근데 나의 뇌지컬로는 그냥
<이전달의 날짜가 출력되는 div 반복문> + <현재달의 날짜가 출력되는 div 반복문> + <다음달의 날짜가 출력되는 div 반복문>
이게 최선이었다 ㅠㅠ
initCalendar: function (thisMonth) {
let startDay = new Date(this.currentYear, this.currentMonth - 1, 0);
let prevDate = startDay.getDate();
let prevDay = startDay.getDay();
// 이번 달의 마지막날 날짜와 요일 구하기
let endDay = new Date(this.currentYear, this.currentMonth, 0);
let nextDate = endDay.getDate();
let nextDay = endDay.getDay();
/* ----------------------------------------------------------------------------- */
this.currentCalendarMatrix = [];
this.prevCalendarMatrix = [];
this.nextCalendarMatrix = [];
this.getLastday = new Date(new Date().getFullYear(), this.currentMonth, 0).getDate();
let currentDays = 0;
let prevDays = 0;
let nextDays = 0;
let currentCalendarObj;
let prevCalendarObj;
let nextCalendarObj;
for (let i = prevDate - prevDay + 1; i <= prevDate; i++) {
prevDays = i;
prevCalendarObj = { day: prevDays };
this.prevCalendarMatrix.push(prevCalendarObj);
}
for (let i = 0; i < this.getLastday; i++) {
currentDays++;
currentCalendarObj = { year: this.currentYear, month: this.currentMonth, day: currentDays, memo: this.memoData };
this.currentCalendarMatrix.push(currentCalendarObj);
}
for (let i = 1; i <= (7 - nextDay == 7 ? 0 : 7 - nextDay); i++) {
nextDays++;
nextCalendarObj = { day: nextDays };
this.nextCalendarMatrix.push(nextCalendarObj);
}
this.prevCalendarMatrix;
this.currentCalendarMatrix;
this.nextCalendarMatrix;
},
6
그 결과 원하는 달력을 만들 수 있었다
7
사실 진짜 구현할 때 처음부터 끝까지 로직을 만들어서 사용하는 사람은 없을 뿐 더러
팀장님도 그런건 너무 비효율적이라고 말씀하셨다.
8
근데 그렇다고 해서 지난날의 나처럼 라이브러리 소스코드 확인도 안하고 그냥
사용법만 검색하여 주구장창 쓰게되면
저런 간단한(?)로직도 제대로 짜지못하고 힘겨워한다
9
이번 과제를 내준데는 이런 큰 이유가 있지 않을까..싶지만
10
암튼 난 멍청하다는 것을 다시 한 번 깨닫는 한 주였다.
뭘봐.. 뭘보냐고 ㅠㅠ